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 18 pull requests #89540

Closed
wants to merge 44 commits into from

Commits on Sep 4, 2021

  1. Use the 64b inner:monotonize() implementation not the 128b one for aa…

    …rch64
    
    aarch64 prior to v8.4 (FEAT_LSE2) doesn't have an instruction that guarantees
    untorn 128b reads except for completing a 128b load/store exclusive pair
    (ldxp/stxp) or compare-and-swap (casp) successfully. The requirement to
    complete a 128b read+write atomic is actually more expensive and more unfair
    than the previous implementation of monotonize() which used a Mutex on aarch64,
    especially at large core counts.  For aarch64 switch to the 64b atomic
    implementation which is about 13x faster for a benchmark that involves many
    calls to Instant::now().
    AGSaidi committed Sep 4, 2021
    Configuration menu
    Copy the full SHA
    ce450f8 View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2021

  1. Configuration menu
    Copy the full SHA
    4f5563d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    77e7f8a View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2021

  1. Configuration menu
    Copy the full SHA
    d8dae4f View commit details
    Browse the repository at this point in the history
  2. Add ui test for issue 88074

    nbdd0121 committed Sep 10, 2021
    Configuration menu
    Copy the full SHA
    ca1616c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    52a0403 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2021

  1. Add wrapper for -Z gcc-ld=lld to invoke rust-lld with the correct flavor

    The wrapper is installed as `ld` and `ld64` in `lib\rustlib\<host_target>\bin\gcc-ld` directory and its sole purpose is to invoke `rust-lld` in the parent directory with the correct flavor.
    hkratz committed Sep 27, 2021
    Configuration menu
    Copy the full SHA
    ac081e1 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2021

  1. Elaborate predicates in min_specialization checks

    Supertraits of specialization markers could circumvent checks for
    min_specialization. Elaborating predicates prevents this.
    matthewjasper committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    c8f86ca View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    051d5b0 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2021

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

Commits on Oct 2, 2021

  1. Configuration menu
    Copy the full SHA
    03cf07f View commit details
    Browse the repository at this point in the history
  2. Query the fingerprint style during key reconstruction

    Keys can be reconstructed from fingerprints that are not DefPathHash, but then
    we cannot extract a DefId from them.
    Mark-Simulacrum committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    0a82acc View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    63aaf88 View commit details
    Browse the repository at this point in the history
  4. Prevent macro ambiguity errors

    The previous macro_rules! parsers failed when an additional modifier was added
    with ambiguity errors. The error is pretty unclear as to what exactly the cause
    here is, but this change simplifies the argument parsing code such that the
    error is avoided.
    bjorn3 authored and Mark-Simulacrum committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    e2d3e09 View commit details
    Browse the repository at this point in the history
  5. rustdoc: Improve doctest pass's name and module's name

    As the docs at the top of the file say, it is an overloaded pass and
    actually runs two lints.
    camelid committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    abbead7 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2021

  1. Configuration menu
    Copy the full SHA
    3da9dea View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dc40430 View commit details
    Browse the repository at this point in the history
  3. Combined 4 commits into 1

    Fixed numerus of error message
    
    Removed superfluous argument
    
    Using pluralize!() instead of code duplication
    
    Adjusted a test
    zvavybir committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    d6a7e74 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cf19131 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9626f2b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6dd6e7c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e34fd54 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2021

  1. ⬆️ rust-analyzer

    lnicola committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    55a3c86 View commit details
    Browse the repository at this point in the history
  2. Stabilize try_reserve

    kornelski committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    00152d8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    079c075 View commit details
    Browse the repository at this point in the history
  4. update Miri

    RalfJung committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    e5d0178 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2021

  1. Rollup merge of rust-lang#87993 - kornelski:try_reserve_stable, r=jos…

    …htriplett
    
    Stabilize try_reserve
    
    Stabilization PR for the [`try_reserve` feature](rust-lang#48043 (comment)).
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    6ac923d View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#88090 - nbdd0121:inference, r=nikomatsakis

    Perform type inference in range pattern
    
    Fix rust-lang#88074
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    d1a40d7 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#88651 - AGSaidi:monotonize-inner-64b-aarch6…

    …4, r=dtolnay
    
    Use the 64b inner:monotonize() implementation not the 128b one for aarch64
    
    aarch64 prior to v8.4 (FEAT_LSE2) doesn't have an instruction that guarantees
    untorn 128b reads except for completing a 128b load/store exclusive pair
    (ldxp/stxp) or compare-and-swap (casp) successfully. The requirement to
    complete a 128b read+write atomic is actually more expensive and more unfair
    than the previous implementation of monotonize() which used a Mutex on aarch64,
    especially at large core counts.  For aarch64 switch to the 64b atomic
    implementation which is about 13x faster for a benchmark that involves many
    calls to Instant::now().
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    dc26b5f View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#88780 - orlp:int-abs-diff, r=m-ou-se

    Added abs_diff for integer types.
    
    Closes rust-lang#62111.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    212282a View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#89270 - seanyoung:join_fold, r=m-ou-se

    path.push() should work as expected on windows verbatim paths
    
    On Windows, std::fs::canonicalize() returns an so-called UNC path.  UNC paths differ with regular paths because:
    
    - This type of path can much longer than a non-UNC path (32k vs 260 characters).
    - The prefix for a UNC path is ``Component::Prefix(Prefix::DiskVerbatim(..)))``
    - No `/` is allowed
    - No `.` is allowed
    - No `..` is allowed
    
    Rust has poor handling of such paths. If you join a UNC path with a path with any of the above, then this will not work.
    
    I've implemented a new method `fn join_fold()` which joins paths and also removes any `.` and `..` from it, and replaces `/` with `\` on Windows. Using this function it is possible to use UNC paths without issue. In addition, this function is useful on Linux too; paths can be appended without having to call `canonicalize()` to remove the `.` and `..`.
    
    This PR needs test cases, which can I add. I hope this will a start of a discussion.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    07d22e7 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#89288 - rusticstuff:lld_wrapper, r=Mark-Sim…

    …ulacrum
    
    Wrapper for `-Z gcc-ld=lld` to invoke rust-lld with the correct flavor
    
    This PR adds an `lld-wrapper` tool which is installed as `ld` and `ld64` in `lib\rustlib\<host_target>\bin\gcc-ld` directory and whose sole purpose is to invoke `rust-lld` in the parent directory with the correct flavor. Lld decides which flavor to use from either the first two commandline arguments or from the name of the executable (`ld` for GNU/ld flavor, `ld64` for Darwin/Macos/ld64 flavor and so on). Symbolic links could not be used as they are not supported by rustup and on Windows.
    
    The wrapper replaces full copies of rust-lld which added some significant bloat. On UNIXish operating systems it exec rust-lld, on Windows it spawns it as a child process.
    
    Fixes rust-lang#88869.
    
    r? `@Mark-Simulacrum`
    cc `@nagisa` `@petrochenkov` `@1000teslas`
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    30e8766 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#89343 - Mark-Simulacrum:no-args-queries, r=…

    …cjgillot
    
    Refactor fingerprint reconstruction
    
    This PR replaces can_reconstruct_query_key with fingerprint_style, which returns the style of the fingerprint for that query. This allows us to avoid trying to extract a DefId (or equivalent) from keys which *are* reconstructible because they're () but not as DefIds.
    
    This is done with the goal of fixing -Zdump-dep-graph, which seems to have broken a while ago (I didn't try to bisect). Currently even on a `fn main() {}` file it'll ICE (you need to also pass -Zquery-dep-graph for it to work at all), and this patch indirectly fixes the cause of that ICE. This also adds a test for it continuing to work.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    c27b049 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#89413 - matthewjasper:spec-marker-fix, r=ni…

    …komatsakis
    
    Correctly handle supertraits for min_specialization
    
    Supertraits of specialization markers could circumvent checks for
    min_specialization. Elaborating predicates prevents this.
    
    r? `@nikomatsakis`
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    d099489 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#89456 - cuviper:llvm-13, r=nikic

    Update to the final LLVM 13.0.0 release
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    4875b46 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#89466 - Mark-Simulacrum:query-macros, r=oli…

    …-obk
    
    Fix bug with query modifier parsing
    
    The previous macro_rules! parsers failed when an additional modifier was added
    with ambiguity errors. The error is pretty unclear as to what exactly the cause
    here is, but this change simplifies the argument parsing code such that the
    error is avoided.
    
    Extracted from other work, and somewhat duplicates 0358edeb5 from rust-lang#85830, but
    this approach seems a little simpler to me. Not technically currently necessary but seems
    like a good cleanup.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    e6e60d3 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#89473 - FabianWolff:issue-89469, r=joshtrip…

    …lett
    
    Fix extra `non_snake_case` warning for shorthand field bindings
    
    Fixes rust-lang#89469. The problem is the innermost `if` condition here:
    https://github.com/rust-lang/rust/blob/d14731cb3ced8318d7fc83cbe838f0e7f2fb3b40/compiler/rustc_lint/src/nonstandard_style.rs#L435-L452
    
    This code runs for every `PatKind::Binding`, so if a struct has multiple fields, say A and B, and both are bound in a pattern using shorthands, the call to `self.check_snake_case()` will indeed be skipped in the `check_pat()` call for `A`; but when `check_pat()` is called for `B`, the loop will still iterate over `A`, and `field.ident (= A) != ident (= B)` will be true. I have fixed this by only looking at non-shorthand bindings, and only the binding that `check_pat()` was actually called for.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    1193353 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#89474 - camelid:better-pass-name, r=jyn514

    rustdoc: Improve doctest pass's name and module's name
    
    As the docs at the top of the file say, it is an overloaded pass and
    actually runs two lints.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    e42febb View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#89478 - zvavybir:master, r=jyn514

    Fixed numerus of error message
    
    When there are redundant trait requirements and these are hidden, a message is generated by the following code snippet:
    `format!("{} redundant requirements hidden", count)`
    But if there is only a single hidden requirement, it will still print this message in plural instead of singular.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    1d1731a View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#89480 - hameerabbasi:issue-89118-test, r=ja…

    …ckh726
    
    Add test for issue 89118.
    
    This PR adds a test for issue 89118.
    
    Closes rust-lang#89118.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    723b711 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#89487 - FabianWolff:issue-89396, r=petroche…

    …nkov
    
    Try to recover from a `=>` -> `=` or `->` typo in a match arm
    
    Fixes rust-lang#89396.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    6305f5a View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#89494 - FabianWolff:issue-84075, r=davidtwco

    Deny `where` clauses on `auto` traits
    
    Fixes rust-lang#84075.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    a883cba View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#89511 - lnicola:rust-analyzer-2021-10-04, r…

    …=lnicola
    
    ⬆️ rust-analyzer
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    d66533a View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#89536 - RalfJung:miri, r=RalfJung

    update Miri
    
    Let's get the recent fixes and improvements shipped.
    r? `@ghost`
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    11580d9 View commit details
    Browse the repository at this point in the history