Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 8 pull requests #107341

Closed
wants to merge 20 commits into from
Closed

Commits on Dec 29, 2022

  1. update stdarch

    This will allow using miri on simd instructions
    rust-lang/stdarch#1347 (comment)
    yanns committed Dec 29, 2022
    Configuration menu
    Copy the full SHA
    a538723 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2023

  1. Configuration menu
    Copy the full SHA
    57ca368 View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2023

  1. Add target_has_atomic* symbols if any atomic width is supported

    Atomic operations for different widths (8-bit, 16-bit, 32-bit etc.) are
    guarded by `target_has_atomic = "value"` symbol (i.e. `target_has_atomic
    = "8"`) (and the other derivatives), but before this change, there was
    no width-agnostic symbol indicating a general availability of atomic
    operations.
    
    This change introduces:
    
    * `target_has_atomic_load_store` symbol when atomics for any integer
      width are supported by the target.
    * `target_has_atomic` symbol when also CAS is supported.
    
    Fixes rust-lang#106845
    
    Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
    vadorovsky committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    1cd7dbf View commit details
    Browse the repository at this point in the history
  2. core: Support variety of atomic widths in width-agnostic functions

    Before this change, the following functions and macros were annotated
    with `#[cfg(target_has_atomic = "8")]` or
    `#[cfg(target_has_atomic_load_store = "8")]`:
    
    * `atomic_int`
    * `strongest_failure_ordering`
    * `atomic_swap`
    * `atomic_add`
    * `atomic_sub`
    * `atomic_compare_exchange`
    * `atomic_compare_exchange_weak`
    * `atomic_and`
    * `atomic_nand`
    * `atomic_or`
    * `atomic_xor`
    * `atomic_max`
    * `atomic_min`
    * `atomic_umax`
    * `atomic_umin`
    
    However, none of those functions and macros actually depend on 8-bit
    width and they are needed for all atomic widths (16-bit, 32-bit, 64-bit
    etc.). Some targets might not support 8-bit atomics (i.e. BPF, if we
    would enable atomic CAS for it).
    
    This change fixes that by removing the `"8"` argument from annotations,
    which results in accepting the whole variety of widths.
    
    Fixes rust-lang#106845
    Fixes rust-lang#106795
    
    Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
    vadorovsky committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    474ea87 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2023

  1. Configuration menu
    Copy the full SHA
    a499862 View commit details
    Browse the repository at this point in the history
  2. fix alphabetical sort

    yanns committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    2e8162a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fc86e7a View commit details
    Browse the repository at this point in the history
  4. Fix some Fluent typos

    clubby789 committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    89b1f39 View commit details
    Browse the repository at this point in the history
  5. rustdoc: Stop using HirIds

    Use `LocalDefId`s instead
    petrochenkov committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    347fa7a View commit details
    Browse the repository at this point in the history
  6. rustdoc: use smarter encoding for playground URL

    The old way would compress okay with DEFLATE, but this version makes
    uncompressed docs smaller, which matters for memory usage and stuff
    like `cargo doc`.
    
    Try it out: <https://play.rust-lang.org/?code=fn+main()+{%0Alet+mut+v+=+Vec::new();%0Av.push(1+/+1);%0Aprintln!(%22{}%22,+v[0]);%0A}>
    
    In local testing, this change shrinks sample pages by anywhere between
    4.0% and 0.031%
    
        $ du -b after.dir/std/vec/struct.Vec.html before.dir/std/vec/struct.Vec.html
        759235  after.dir/std/vec/struct.Vec.html
        781842  before.dir/std/vec/struct.Vec.html
    
    100*((759235-781842)/781842)=-2.8
    
        $ du -b after.dir/std/num/struct.Wrapping.html before.dir/std/num/struct.Wrapping.html
        3194173 after.dir/std/num/struct.Wrapping.html
        3204351 before.dir/std/num/struct.Wrapping.html
    
    100*((3194173-3204351)/3204351)=-0.031
    
        $ du -b after.dir/std/keyword.match.html before.dir/std/keyword.match.html
        8151    after.dir/std/keyword.match.html
        8495    before.dir/std/keyword.match.html
    
    100*((8151-8495)/8495)=-4.0
    
    Gzipped tarball sizes seem shrunk, but not by much.
    
        du -s before.tar.gz after.tar.gz
        69600   before.tar.gz
        69480   after.tar.gz
    
    100*((69480-69600)/69600)=-0.17
    notriddle committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    51df99f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    97f8189 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    9b5a2a4 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2023

  1. Rollup merge of rust-lang#105784 - yanns:update_stdarch, r=Amanieu

    update stdarch
    
    This will allow using miri on simd instructions
    rust-lang/stdarch#1347 (comment)
    JohnTitor authored Jan 27, 2023
    Configuration menu
    Copy the full SHA
    a5a8b48 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#106856 - vadorovsky:fix-atomic-annotations,…

    … r=joshtriplett
    
    core: Support variety of atomic widths in width-agnostic functions
    
    Before this change, the following functions and macros were annotated with `#[cfg(target_has_atomic = "8")]` or
    `#[cfg(target_has_atomic_load_store = "8")]`:
    
    * `atomic_int`
    * `strongest_failure_ordering`
    * `atomic_swap`
    * `atomic_add`
    * `atomic_sub`
    * `atomic_compare_exchange`
    * `atomic_compare_exchange_weak`
    * `atomic_and`
    * `atomic_nand`
    * `atomic_or`
    * `atomic_xor`
    * `atomic_max`
    * `atomic_min`
    * `atomic_umax`
    * `atomic_umin`
    
    However, none of those functions and macros actually depend on 8-bit width and they are needed for all atomic widths (16-bit, 32-bit, 64-bit etc.). Some targets might not support 8-bit atomics (i.e. BPF, if we would enable atomic CAS for it).
    
    This change fixes that by removing the `"8"` argument from annotations, which results in accepting the whole variety of widths.
    
    Fixes rust-lang#106845
    Fixes rust-lang#106795
    
    Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
    JohnTitor authored Jan 27, 2023
    Configuration menu
    Copy the full SHA
    a4e6bb0 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#107096 - clubby789:fluent-bad-messageref, r…

    …=compiler-errors
    
    Detect references to non-existant messages in Fluent resources
    
    Should help with cases like rust-lang#107091, where `{variable}` (a message reference) is accidentally typed, rather than `{$variable}` (a variable reference)
    
    `@rustbot` label +A-translation
    JohnTitor authored Jan 27, 2023
    Configuration menu
    Copy the full SHA
    c28bf74 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#107242 - notriddle:notriddle/title-ordering…

    …, r=GuillaumeGomez
    
    rustdoc: make item links consistently use `title="{shortty} {path}"`
    
    The ordering in item tables was flipped in 3030cbe, making it inconsistent with the ordering in method signatures.
    
    Compare these (before this PR is merged):
    
    https://github.com/rust-lang/rust/blob/c8e6a9e8b6251bbc8276cb78cabe1998deecbed7/src/librustdoc/html/render/print_item.rs#L455-L459
    
    https://github.com/rust-lang/rust/blob/c8e6a9e8b6251bbc8276cb78cabe1998deecbed7/src/librustdoc/html/format.rs#L903-L908
    JohnTitor authored Jan 27, 2023
    Configuration menu
    Copy the full SHA
    2e33cf6 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#107279 - compiler-errors:new-solver-evaluat…

    …e, r=lcnr
    
    Use new solver during selection
    
    r? `@lcnr`
    JohnTitor authored Jan 27, 2023
    Configuration menu
    Copy the full SHA
    d29244f View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#107284 - notriddle:notriddle/plus, r=jsha

    rustdoc: use smarter encoding for playground URL
    
    The old way would compress okay with DEFLATE, but this version makes uncompressed docs smaller, which matters for memory usage and stuff like `cargo doc`.
    
    Try it out: <https://play.rust-lang.org/?code=fn+main()+{%0Alet+mut+v+=+Vec::new();%0Av.push(1+/+1);%0Aprintln!(%22{}%22,+v[0]);%0A}>
    
    In local testing, this change shrinks sample pages by anywhere between 4.0% and 0.031%
    
        $ du -b after.dir/std/vec/struct.Vec.html before.dir/std/vec/struct.Vec.html
        759235  after.dir/std/vec/struct.Vec.html
        781842  before.dir/std/vec/struct.Vec.html
    
    100*((759235-781842)/781842)=-2.8
    
        $ du -b after.dir/std/num/struct.Wrapping.html before.dir/std/num/struct.Wrapping.html
        3194173 after.dir/std/num/struct.Wrapping.html
        3204351 before.dir/std/num/struct.Wrapping.html
    
    100*((3194173-3204351)/3204351)=-0.031
    
        $ du -b after.dir/std/keyword.match.html before.dir/std/keyword.match.html
        8151    after.dir/std/keyword.match.html
        8495    before.dir/std/keyword.match.html
    
    100*((8151-8495)/8495)=-4.0
    
    Gzipped tarball sizes seem shrunk, but not by much.
    
        du -s before.tar.gz after.tar.gz
        69600   before.tar.gz
        69480   after.tar.gz
    
    100*((69480-69600)/69600)=-0.17
    JohnTitor authored Jan 27, 2023
    Configuration menu
    Copy the full SHA
    74945ca View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#107325 - petrochenkov:hiddoc2, r=GuillaumeG…

    …omez
    
    rustdoc: Stop using `HirId`s
    
    Use `LocalDefId`s instead.
    Rustdoc doesn't work with item bodies, so it almost never needs fine-grained HIR IDs.
    JohnTitor authored Jan 27, 2023
    Configuration menu
    Copy the full SHA
    eee6648 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#107336 - notriddle:notriddle/import-item-mo…

    …dule-item, r=GuillaumeGomez
    
    rustdoc: remove mostly-unused CSS classes `import-item` and `module-item`
    JohnTitor authored Jan 27, 2023
    Configuration menu
    Copy the full SHA
    9add2a8 View commit details
    Browse the repository at this point in the history