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

Add docs to Box conversions #89199

Closed
wants to merge 960 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Oct 2, 2021

  1. Rename etc -> has_rest_pat

    DevinR528 committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    b06409e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    67ea84d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9c2d52f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fb0353b View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2021

  1. Configuration menu
    Copy the full SHA
    eec856b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e165c12 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#84267 - dtolnay:ptrunit, r=nagisa

    Make *const (), *mut () okay for FFI
    
    Pointer-to-() is used occasionally in the standard library to mean "pointer to none-of-your-business". Examples:
    
    - `RawWakerVTable::new` https://doc.rust-lang.org/1.51.0/std/task/struct.RawWakerVTable.html#method.new
    - `<*const T>::to_raw_parts` https://doc.rust-lang.org/nightly/std/primitive.pointer.html#method.to_raw_parts
    
    I believe it's useful for the same purpose in FFI signatures, even while `()` itself is not FFI safe. The following should be allowed:
    
    ```rust
    extern "C" {
        fn demo(pc: *const (), pm: *mut ());
    }
    ```
    
    Prior to this PR, those pointers were not considered okay for an extern signature.
    
    ```console
    warning: `extern` block uses type `()`, which is not FFI-safe
     --> src/main.rs:2:17
      |
    2 |     fn demo(pc: *const (), pm: *mut ());
      |                 ^^^^^^^^^ not FFI-safe
      |
      = note: `#[warn(improper_ctypes)]` on by default
      = help: consider using a struct instead
      = note: tuples have unspecified layout
    
    warning: `extern` block uses type `()`, which is not FFI-safe
     --> src/main.rs:2:32
      |
    2 |     fn demo(pc: *const (), pm: *mut ());
      |                                ^^^^^^^ not FFI-safe
      |
      = help: consider using a struct instead
      = note: tuples have unspecified layout
    ```
    bors committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    c70b35e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3da9dea View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    dc40430 View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#89479 - camsteffen:diag-naming, r=Manishearth

    Make diangostic item naming consistent
    
    Right now there is about a 50/50 split of naming diagnostic items as `vec_type` vs `Vec`. So it is hard to guess a diagnostic item name with confidence. I know it's not great to change these retroactively, but I think it will be much easier to maintain consistency after consistency is established.
    bors committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    77f1e50 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    250d126 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    fb0b1a5 View commit details
    Browse the repository at this point in the history
  9. Auto merge of rust-lang#88060 - TennyZhuang:optimize-vec-retain, r=dt…

    …olnay
    
    Optimize unnecessary check in Vec::retain
    
    The function `vec::Vec::retain` only have two stages:
    
    1. Nothing was deleted.
    2. Some elements were deleted.
    
    Here is an unnecessary check `if g.deleted_cnt > 0` in the loop, and it's difficult for compiler to optimize it. I split the loop into two stages manully and keep the code clean using const generics.
    
    I write a special but common bench case for this optimization. I call retain on vec but keep all elements.
    
    Before and after this optimization:
    
    ```
    test vec::bench_retain_whole_100000                      ... bench:      84,803 ns/iter (+/- 17,314)
    ```
    
    ```
    test vec::bench_retain_whole_100000                      ... bench:      42,638 ns/iter (+/- 16,910)
    ```
    
    The result is expected, there are two `if`s before the optimization and one `if` after.
    bors committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    c24c906 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3818981 View commit details
    Browse the repository at this point in the history
  11. Add documentation to Box conversions

    Among other changes, documents whether allocations are necessary
    to complete the type conversion.
    
    Part of rust-lang#51430
    
    Co-authored-by: Giacomo Stevanato <giaco.stevanato@gmail.com>
    
    Co-authored-by: Joshua Nelson <github@jyn.dev>
    timClicks and jyn514 committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    53bc9cf View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    caa61b5 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    ea8e65f View commit details
    Browse the repository at this point in the history
  14. Auto merge of rust-lang#7709 - Qwaz:drop_non_send, r=xFrednet

    Implement `non_send_field_in_send_ty` lint
    
    changelog: Implement [`non_send_fields_in_send_ty`] lint
    
    Fixes rust-lang#7703
    bors committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    33c34fb View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    32e19fb View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    0ebc656 View commit details
    Browse the repository at this point in the history
  17. Auto merge of rust-lang#7755 - HKalbasi:master, r=xFrednet

    exclude enum from derivable impls
    
    fix rust-lang#7753
    
    changelog: Exclude enum from ``[`derivable_impls`]``
    bors committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    63b04f7 View commit details
    Browse the repository at this point in the history
  18. Auto merge of rust-lang#89459 - tspiteri:idiv-overflow-bitand, r=kennytm

    Use bitand when checking for signed integer division overflow
    
    For `self == Self::MIN && rhs == -1`, LLVM does not realize that this is the same check made by `self / rhs`, so the code generated may have some unnecessary duplication. For `(self == Self::MIN) & (rhs == -1)`, LLVM realizes it is the same check.
    bors committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    4479cb8 View commit details
    Browse the repository at this point in the history
  19. 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
  20. Configuration menu
    Copy the full SHA
    cf19131 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    a0cc9bb View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    677fb6b View commit details
    Browse the repository at this point in the history
  23. Move from grid layout to table based layout because of browser limits…

    … that overlay row entries after a UA specific amount of rows
    dns2utf8 authored and Mark-Simulacrum committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    e599e2d View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    9626f2b View commit details
    Browse the repository at this point in the history
  25. Auto merge of rust-lang#87870 - WaffleLapkin:pub_split_at_unchecked, …

    …r=dtolnay
    
    Make `<[T]>::split_at_unchecked` and `<[T]>::split_at_mut_unchecked` public
    
    The methods were originally added in rust-lang#75936 (sdroege@30dc32b), but for some reason as private. Nevertheless, the methods have documentation and even a [tracking issue](rust-lang#76014).
    
    It's very weird to have a tracking issue for private methods and these methods may be useful outside of the standard library. As such, this PR makes the methods public.
    bors committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    5051904 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    529c353 View commit details
    Browse the repository at this point in the history
  27. Move some HashStable impls.

    cjgillot committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    b66dfaa View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    8961616 View commit details
    Browse the repository at this point in the history
  29. Remove StableHashProvider.

    cjgillot committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    2d38c53 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    c355b2e View commit details
    Browse the repository at this point in the history
  31. Remove re-export.

    cjgillot committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    02025d8 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    471cb5c View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    fedd778 View commit details
    Browse the repository at this point in the history
  34. Update ui-fulldeps.

    cjgillot committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    48ae6ec View commit details
    Browse the repository at this point in the history
  35. Add some inlining.

    cjgillot committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    b2ed9c4 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    6dd6e7c View commit details
    Browse the repository at this point in the history
  37. Replace Fn impls with RPIT impls in rustc_index

    This is cleaner and removes an unstable feature usage
    bjorn3 committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    9f4cb86 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    e34fd54 View commit details
    Browse the repository at this point in the history
  39. Auto merge of rust-lang#88086 - ssomers:btree_clone_testing, r=dtolnay

    BTree: toughen panicky test of clone()
    
    Test did not cover the second half of `clone_subtree` and why this clones key & value first.
    bors committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    08759c6 View commit details
    Browse the repository at this point in the history
  40. Add two inline annotations for hot functions

    These two functions are essentially no-ops (and compile to just a load and
    return), but show up in process_obligations profiles with a high call count --
    so worthwhile to try and inline them away.
    Mark-Simulacrum committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    1c2ad79 View commit details
    Browse the repository at this point in the history
  41. Auto merge of rust-lang#89486 - rusticstuff:docker_letsencrypt_ca_upd…

    …ate, r=Mark-Simulacrum
    
    Update Let's Encrypt ROOT CA certificate in dist-(i686|x86_64)-linux docker images
    
    The DST Root CA X3 used by Let's Encrypt has expired ([Let's Encrypt announcement](https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/)). This patch installs the new root certificate (ISRG Root X1) and disables the old one. Disabling the old one is necessary because otherwise curl still fails to download from servers with Let's Encrypt certs even though they are cross-signed.
    
    Fixes rust-lang#89484.
    bors committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    9dbb26e View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    a28a78f View commit details
    Browse the repository at this point in the history
  43. Update comments

    FabianWolff committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    20489ea View commit details
    Browse the repository at this point in the history
  44. Apply suggestions

    Co-authored-by: kennytm <kennytm@gmail.com>
    a1phyr and kennytm authored Oct 3, 2021
    Configuration menu
    Copy the full SHA
    70e55a8 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    4846fd9 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    dd9b476 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    e3996ff View commit details
    Browse the repository at this point in the history
  48. Auto merge of rust-lang#88175 - camsteffen:let-desugar-span, r=Manish…

    …earth
    
    Add expansion to while desugar spans
    
    In the same vein as rust-lang#88163, this reverts a change in Clippy behavior as a result of rust-lang#80357 (and reverts some `#[allow]`s): This changes `clippy::blocks_in_if_conditions` to not fire on `while` loops. Though we might actually want Clippy to lint those cases, we should introduce the change purposefully, with tests, and possibly under a different lint name.
    
    The actual change here is to add a desugaring expansion to the spans when lowering a `while` loop.
    
    r? `@Manishearth`
    bors committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    e737694 View commit details
    Browse the repository at this point in the history
  49. Auto merge of rust-lang#88175 - camsteffen:let-desugar-span, r=Manish…

    …earth
    
    Add expansion to while desugar spans
    
    In the same vein as rust-lang#88163, this reverts a change in Clippy behavior as a result of rust-lang#80357 (and reverts some `#[allow]`s): This changes `clippy::blocks_in_if_conditions` to not fire on `while` loops. Though we might actually want Clippy to lint those cases, we should introduce the change purposefully, with tests, and possibly under a different lint name.
    
    The actual change here is to add a desugaring expansion to the spans when lowering a `while` loop.
    
    r? `@Manishearth`
    bors committed Oct 3, 2021
    Configuration menu
    Copy the full SHA
    87bb18e View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    5b66048 View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    2a57a46 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2021

  1. Configuration menu
    Copy the full SHA
    3760c91 View commit details
    Browse the repository at this point in the history
  2. Don't suggest replacing region with 'static in NLL

    Fixes rust-lang#73159
    
    This is similar to rust-lang#69350 - if the user didn't initially
    write out a 'static lifetime, adding 'static in response to
    a lifetime error is usually the wrong thing to do.
    Aaron1011 committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    fdd8a0d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    199b33f View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#89165 - jkugelman:read-to-end-overallocation,…

    … r=joshtriplett
    
    Fix read_to_end to not grow an exact size buffer
    
    If you know how much data to expect and use `Vec::with_capacity` to pre-allocate a buffer of that capacity, `Read::read_to_end` will still double its capacity. It needs some space to perform a read, even though that read ends up returning `0`.
    
    It's a bummer to carefully pre-allocate 1GB to read a 1GB file into memory and end up using 2GB.
    
    This fixes that behavior by special casing a full buffer and reading into a small "probe" buffer instead. If that read returns `0` then it's confirmed that the buffer was the perfect size. If it doesn't, the probe buffer is appended to the normal buffer and the read loop continues.
    
    Fixing this allows several workarounds in the standard library to be removed:
    
    - `Take` no longer needs to override `Read::read_to_end`.
    - The `reservation_size` callback that allowed `Take` to inhibit the previous over-allocation behavior isn't needed.
    - `fs::read` doesn't need to reserve an extra byte in `initial_buffer_size`.
    
    Curiously, there was a unit test that specifically checked that `Read::read_to_end` *does* over-allocate. I removed that test, too.
    bors committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    d25de31 View commit details
    Browse the repository at this point in the history
  5. ⬆️ 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
  6. Rollup merge of rust-lang#86434 - CDirkx:ipv6-benchmarking, r=joshtri…

    …plett
    
    Add `Ipv6Addr::is_benchmarking`
    
    This PR adds the unstable method `Ipv6Addr::is_benchmarking`. This method is added for parity with `Ipv4Addr::is_benchmarking`, and I intend to use it in a future rework of `Ipv6Addr::is_global` (edit: rust-lang#86634) to more accurately follow the [IANA Special Address Registry](https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml) (like is done in `Ipv4Addr::is_global`).
    
    With `Ipv6Addr::is_benchmarking` and `Ipv4Addr::is_benchmarking` now both existing, `IpAddr::is_benchmarking` is also added.
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    22714ed View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#86828 - lambinoo:67441-const-fn-copied-take…

    …-replace, r=joshtriplett
    
    const fn for option copied, take & replace
    
    Tracking issue: [rust-lang#67441](rust-lang#67441)
    
    Adding const fn for the copied, take and replace method of Option. Also adding necessary unit test.
    
    It's my first contribution so I am pretty sure I don't know what I'm doing but there's a first for everything!
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    287af04 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#87679 - ssomers:btree_comments, r=joshtriplett

    BTree: refine some comments
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    0f9e960 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#87910 - iago-lito:mark_unsafe_nonzero_arith…

    …metics_as_const, r=joshtriplett
    
    Mark unsafe methods NonZero*::unchecked_(add|mul) as const.
    
    Now that rust-lang/rfcs#3016 has landed, these two unstable `std` function can be marked `const`, according to this detail of rust-lang#84186.
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    e500f1c View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#88286 - LeSeulArtichaut:unnecessary-unsafe-…

    …block-std, r=dtolnay
    
    Remove unnecessary unsafe block in `process_unix`
    
    Because it's nested under this unsafe fn!
    
    This block isn't detected as unnecessary because of a bug in the compiler: rust-lang#88260.
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    f2ec71f View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#88305 - ijackson:exitstatus-debug, r=dtolnay

    Manual Debug for Unix ExitCode ExitStatus ExitStatusError
    
    These structs have misleading names.  An ExitStatus[Error] is actually a Unix wait status; an ExitCode is actually an exit status.  These misleading names appear in the `Debug` output.
    
    The `Display` impls on Unix have been improved, but the `Debug` impls are still misleading, as reported in rust-lang#74832.
    
    Fix this by pretending that these internal structs are called `unix_exit_status` and `unix_wait_status` as applicable.  (We can't actually rename the structs because of the way that the cross-platform machinery works: the names are cross-platform.)
    
    After this change, this program
    ```
    #![feature(exit_status_error)]
    fn main(){
        let x = std::process::Command::new("false").status().unwrap();
        dbg!(x.exit_ok());
        eprintln!("x={:?}",x);
    }
    ```
    produces this output
    ```
    [src/main.rs:4] x.exit_ok() = Err(
        ExitStatusError(
            unix_wait_status(
                256,
            ),
        ),
    )
    x=ExitStatus(unix_wait_status(256))
    ```
    
    Closes rust-lang#74832
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    e4d257e View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#88353 - jhpratt:stabilize-array-as-ref, r=j…

    …oshtriplett
    
    Partially stabilize `array_methods`
    
    This stabilizes `<[T; N]>::as_slice` and `<[T; N]>::as_mut_slice`, which is forms part of the `array_methods` feature: rust-lang#76118.
    
    This also makes `<[T; N]>::as_slice` const due to its trivial nature.
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    70d82e0 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#88370 - Seppel3210:master, r=dtolnay

    Add missing `# Panics` section to `Vec` method
    
    namely `Vec::extend_from_within`
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    5e66ba7 View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#88481 - bjorn3:remove_feature_gates, r=cjgi…

    …llot
    
    Remove some feature gates
    
    The first commit removes various feature gates that are unused. The second commit replaces some `Fn` implementations with `Iterator` implementations, which is much cleaner IMO. The third commit replaces an unboxed_closures feature gate with min_specialization. For some reason the unboxed_closures feature gate suppresses the min_specialization feature gate from triggering on an `TrustedStep` impl. The last comment just turns a regular comment into a doc comment as drive by cleanup. I can move it to a separate PR if preferred.
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    5215b85 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#89138 - newpavlov:patch-2, r=dtolnay

    Fix link in Ipv6Addr::to_ipv4 docs
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    c167eee View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#89401 - owengage:master, r=joshtriplett

    Add truncate note to Vec::resize
    
    A very minor addition to the `Vec::resize` documentation to point out the `truncate` method.
    When I was searching for something matching `truncate` I managed to miss it, along with some colleagues. We later found it by chance. We did find `resize` however, so I was hoping to point it out in the documentation.
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    d236c04 View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#89467 - tniessen:rustdoc-unecessary, r=jyn514

    Fix typos in rustdoc/lints
    
    This PR merely fixes a few typos in a recently introduced change :)
    
    Refs: rust-lang#85223
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    8c7c689 View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#89472 - nagisa:nagisa/wsa-cleanup, r=dtolnay

    Only register `WSACleanup` if `WSAStartup` is actually ever called
    
    See rust-lang#85595
    
    Fixes rust-lang#85441
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    e021a10 View commit details
    Browse the repository at this point in the history
  19. Rollup merge of rust-lang#89505 - Aaron1011:nll-const-test, r=Mark-Si…

    …mulacrum
    
    Add regression test for spurious const error with NLL
    
    Fixes rust-lang#55825
    Manishearth authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    5c5dde8 View commit details
    Browse the repository at this point in the history
  20. Stabilize const_panic

    jhpratt committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    bce8621 View commit details
    Browse the repository at this point in the history
  21. Move generic error message to separate branches

    This decomposes an error message in generic constants into more specific branches, for better
    readability.
    JulianKnodt committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    9cb30f4 View commit details
    Browse the repository at this point in the history
  22. Auto merge of rust-lang#89512 - Manishearth:rollup-meh9x7r, r=Manishe…

    …arth
    
    Rollup of 14 pull requests
    
    Successful merges:
    
     - rust-lang#86434 (Add `Ipv6Addr::is_benchmarking`)
     - rust-lang#86828 (const fn for option copied, take & replace)
     - rust-lang#87679 (BTree: refine some comments)
     - rust-lang#87910 (Mark unsafe methods NonZero*::unchecked_(add|mul) as const.)
     - rust-lang#88286 (Remove unnecessary unsafe block in `process_unix`)
     - rust-lang#88305 (Manual Debug for Unix ExitCode ExitStatus ExitStatusError)
     - rust-lang#88353 (Partially stabilize `array_methods`)
     - rust-lang#88370 (Add missing `# Panics` section to `Vec` method)
     - rust-lang#88481 (Remove some feature gates)
     - rust-lang#89138 (Fix link in Ipv6Addr::to_ipv4 docs)
     - rust-lang#89401 (Add truncate note to Vec::resize)
     - rust-lang#89467 (Fix typos in rustdoc/lints)
     - rust-lang#89472 (Only register `WSACleanup` if `WSAStartup` is actually ever called)
     - rust-lang#89505 (Add regression test for spurious const error with NLL)
    
    Failed merges:
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    44593ae View commit details
    Browse the repository at this point in the history
  23. librustdoc: Use correct heading levels.

    - Avoid multiple <h1>s on a page.
    - The <h#> tags should follow a semantic hierarchy.
    - Cap at h6 (no h7)
    Mukund Lakshman committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    a8a40ea View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    03fbc16 View commit details
    Browse the repository at this point in the history
  25. 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
  26. Auto merge of rust-lang#89489 - FabianWolff:issue-89485, r=oli-obk

    Fix unsound optimization with explicit variant discriminants
    
    Fixes rust-lang#89485.
    bors committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    a479766 View commit details
    Browse the repository at this point in the history
  27. Auto merge of rust-lang#88834 - the8472:char-count, r=joshtriplett

    optimize str::from_utf8() validation when slice contains multibyte chars and str.chars().count() in all cases
    
    The change shows small but consistent improvements across several x86 target feature levels. I also tried to optimize counting with `slice.as_chunks` but that yielded more inconsistent results, bigger improvements for some optimization levels, lesser ones in others.
    
    ```
    old, -O2, x86-64
    test str::str_char_count_emoji                                  ... bench:       1,924 ns/iter (+/- 26)
    test str::str_char_count_lorem                                  ... bench:         879 ns/iter (+/- 12)
    test str::str_char_count_lorem_short                            ... bench:           5 ns/iter (+/- 0)
    
    new, -O2, x86-64
    test str::str_char_count_emoji                                  ... bench:       1,878 ns/iter (+/- 21)
    test str::str_char_count_lorem                                  ... bench:         851 ns/iter (+/- 11)
    test str::str_char_count_lorem_short                            ... bench:           4 ns/iter (+/- 0)
    
    old, -O2, x86-64-v2
    test str::str_char_count_emoji                                  ... bench:       1,477 ns/iter (+/- 46)
    test str::str_char_count_lorem                                  ... bench:         675 ns/iter (+/- 15)
    test str::str_char_count_lorem_short                            ... bench:           5 ns/iter (+/- 0)
    
    new, -O2, x86-64-v2
    test str::str_char_count_emoji                                  ... bench:       1,323 ns/iter (+/- 39)
    test str::str_char_count_lorem                                  ... bench:         593 ns/iter (+/- 18)
    test str::str_char_count_lorem_short                            ... bench:           4 ns/iter (+/- 0)
    
    old, -O2, x86-64-v3
    test str::str_char_count_emoji                                  ... bench:         748 ns/iter (+/- 7)
    test str::str_char_count_lorem                                  ... bench:         348 ns/iter (+/- 2)
    test str::str_char_count_lorem_short                            ... bench:           5 ns/iter (+/- 0)
    
    new, -O2, x86-64-v3
    test str::str_char_count_emoji                                  ... bench:         650 ns/iter (+/- 4)
    test str::str_char_count_lorem                                  ... bench:         301 ns/iter (+/- 1)
    test str::str_char_count_lorem_short                            ... bench:           5 ns/iter (+/- 0)
    ```
    
    and for the multibyte-char string validation:
    
    ```
    old, -O2, x86-64
    test str::str_validate_emoji                                    ... bench:       4,606 ns/iter (+/- 64)
    
    new, -O2, x86-64
    test str::str_validate_emoji                                    ... bench:       3,837 ns/iter (+/- 60)
    ```
    bors committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    175b8db View commit details
    Browse the repository at this point in the history
  28. Fix ICE in implicit_hasher

    giraffate committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    72f0180 View commit details
    Browse the repository at this point in the history
  29. Make proc_macro_derive_resolution_fallback a future-breakage lint

    When `cargo report future-incompatibilities` is stabilized
    (see rust-lang#71249), this will cause dependencies that trigger
    this lint to be included in the report.
    Aaron1011 committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    32a5abc View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    47edde1 View commit details
    Browse the repository at this point in the history
  31. Auto merge of rust-lang#7761 - giraffate:fix_ice_in_inplicit_hasher, …

    …r=Manishearth
    
    Fix ICE in `implicit_hasher`
    
    close rust-lang#7712
    
    changelog: Fix ICE in [`implicit_hasher`]
    bors committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    3311b36 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    388a3d0 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    40fe064 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    013aa37 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    388bcc1 View commit details
    Browse the repository at this point in the history
  36. Auto merge of rust-lang#7762 - HKalbasi:master, r=Manishearth

    Add lint `equatable_if_let`
    
    This is my attempt for rust-lang#1716. There is a major false positive, which is people may implement `PartialEq` in a different way. It is unactionable at the moment so I put it into `nursery`.
    
    There is a trait `StructuralPartialEq` for solving this problem which is promising but it has several problems currently:
    * Integers and tuples doesn't implement it.
    * Some types wrongly implement it, like `Option<T>` when `T` doesn't implement it.
    
    I consider them bugs and against the propose of `StructuralPartialEq`. When they become fixed, this lint can become a useful lint with a single line change.
    
    changelog: New lint: [`equatable_if_let`]
    bors committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    abe551e View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    079c075 View commit details
    Browse the repository at this point in the history
  38. Rollup merge of rust-lang#83655 - sebpop:arm64-outline-atomics, r=wor…

    …kingjubilee
    
    [aarch64] add target feature outline-atomics
    
    Enable outline-atomics by default as enabled in clang by the following commit
    https://reviews.llvm.org/rGc5e7e649d537067dec7111f3de1430d0fc8a4d11
    
    Performance improves by several orders of magnitude when using the LSE instructions
    instead of the ARMv8.0 compatible load/store exclusive instructions.
    
    Tested on Graviton2 aarch64-linux with
    x.py build && x.py install && x.py test
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    4e9cf04 View commit details
    Browse the repository at this point in the history
  39. Rollup merge of rust-lang#87091 - the8472:more-advance-by-impls, r=jo…

    …shtriplett
    
    implement advance_(back_)_by on more iterators
    
    Add more efficient, non-default implementations for `feature(iter_advance_by)` (rust-lang#77404) on more iterators and adapters.
    
    This PR only contains implementations where skipping over items doesn't elide any observable side-effects such as user-provided closures or `clone()` functions. I'll put those in a separate PR.
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    ca8a108 View commit details
    Browse the repository at this point in the history
  40. Rollup merge of rust-lang#88451 - theo-lw:issue-87771, r=jackh726

    Fix an ICE caused by type mismatch errors being ignored
    
    This PR fixes rust-lang#87771. It turns out that the check on `compiler/rustc_typeck/src/check/demand.rs:148` leads to the ICE. I removed it because the early return in [`check_expr_assign`](https://github.com/theo-lw/rust/blob/dec7fc3ced5bc3c18d0e5d29921d087f93189cb8/compiler/rustc_typeck/src/check/expr.rs#L928) already prevents unnecessary error messages from the call to `check_expr_coercable_to_type`.
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    a2c6075 View commit details
    Browse the repository at this point in the history
  41. Rollup merge of rust-lang#88452 - xu-cheng:vecdeque-from-array, r=m-o…

    …u-se
    
    VecDeque: improve performance for From<[T; N]>
    
    Create `VecDeque` directly from the array instead of inserting items one-by-one.
    
    Benchmark
    ```
    ./x.py bench library/alloc --test-args vec_deque::bench_from_array_1000
    ```
    
    * Before
    ```
    test vec_deque::bench_from_array_1000                    ... bench:       3,991 ns/iter (+/- 717)
    ```
    
    * After
    ```
    test vec_deque::bench_from_array_1000                    ... bench:         268 ns/iter (+/- 37)
    ```
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    19d9a14 View commit details
    Browse the repository at this point in the history
  42. Rollup merge of rust-lang#89400 - Nitepone:nitepone/map-or-else-docfi…

    …x, r=dtolnay
    
    Improve wording of `map_or_else` docs
    
    Changes doc text to refer to the "default" parameter as the "default"
    function.
    
    Previously, the doc text referred to the "f" parameter as the "default" function; and the "default" parameter as the "fallback" function.
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    9e387cf View commit details
    Browse the repository at this point in the history
  43. Rollup merge of rust-lang#89407 - pierwill:recommend-clean-E0514, r=d…

    …avidtwco
    
    Recommend running `cargo clean` in E0514 output
    
    This suggestion has worked for me before. Seems to me it could help others.
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    9381d7a View commit details
    Browse the repository at this point in the history
  44. Rollup merge of rust-lang#89443 - cuviper:btree-hash-len, r=dtolnay

    Include the length in BTree hashes
    
    This change makes it consistent with `Hash` for all other collections.
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    e1478d6 View commit details
    Browse the repository at this point in the history
  45. Rollup merge of rust-lang#89444 - notriddle:notriddle/contains-str, r…

    …=jyn514
    
    rustdoc: use slice::contains instead of open-coding it
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    b115a16 View commit details
    Browse the repository at this point in the history
  46. Rollup merge of rust-lang#89447 - FabianWolff:issue-89388, r=davidtwco

    Improve error message for missing angle brackets in `[_]::method`
    
    Fixes rust-lang#89388.
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    08dd414 View commit details
    Browse the repository at this point in the history
  47. Rollup merge of rust-lang#89453 - waywardmonkeys:consistent-supertrai…

    …t-usage, r=nagisa
    
    Consistently use 'supertrait'.
    
    A subset of places referred to 'super-trait', so this changes them
    to all use 'supertrait'. This matches 'supertype' and some other
    usages. An exception is 'auto-trait' which is consistently used
    in that manner.
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    2bc89ce View commit details
    Browse the repository at this point in the history
  48. Rollup merge of rust-lang#89483 - hkmatsumoto:patch-diagnostics-2, r=…

    …estebank
    
    Practice diagnostic message convention
    
    Detected by rust-lang#89455.
    
    r? ```@estebank```
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    5352e17 View commit details
    Browse the repository at this point in the history
  49. Rollup merge of rust-lang#89500 - FabianWolff:issue-87308, r=petroche…

    …nkov
    
    Fix ICE with buffered lint referring to AST node deleted by everybody_loops
    
    Fixes rust-lang#87308. Note the following comment:
    https://github.com/rust-lang/rust/blob/08759c691e2e9799a3c6780ffdf910240ebd4a6b/compiler/rustc_lint/src/early.rs#L415-L417
    
    As it turns out, this is not _always_ a bug, because `-Zunpretty=everybody_loops` causes a lot of AST nodes to be deleted, and thus some buffered lints will refer to non-existent node ids. To fix this, my changes simply ignore buffered lints if `-Zunpretty=everybody_loops` is enabled, which, from my understanding, shouldn't be a big issue because it only affects pretty-printing. Of course, a more elegant solution would only ignore buffered lints that actually point at deleted node ids, but I haven't figured out an easy way of achieving this.
    
    For the concrete example in rust-lang#87308, the buffered lint is created [here](https://github.com/rust-lang/rust/blob/08759c691e2e9799a3c6780ffdf910240ebd4a6b/compiler/rustc_expand/src/mbe/macro_rules.rs#L145-L151) with the `lint_node_id` from [here](https://github.com/rust-lang/rust/blob/08759c691e2e9799a3c6780ffdf910240ebd4a6b/compiler/rustc_expand/src/mbe/macro_rules.rs#L319), i.e. it points at the macro _expansion_, which then gets deleted by `ReplaceBodyWithLoop` [here](https://github.com/rust-lang/rust/blob/08759c691e2e9799a3c6780ffdf910240ebd4a6b/compiler/rustc_interface/src/passes.rs#L377).
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    3d4467d View commit details
    Browse the repository at this point in the history
  50. Rollup merge of rust-lang#89508 - jhpratt:stabilize-const_panic, r=jo…

    …shtriplett
    
    Stabilize `const_panic`
    
    Closes rust-lang#51999
    
    FCP completed in rust-lang#89006
    
    ```@rustbot``` label +A-const-eval +A-const-fn +T-lang
    
    cc ```@oli-obk``` for review (not `r?`'ing as not on lang team)
    workingjubilee authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    9866b09 View commit details
    Browse the repository at this point in the history
  51. Auto merge of rust-lang#89530 - workingjubilee:rollup-ua14iq6, r=work…

    …ingjubilee
    
    Rollup of 13 pull requests
    
    Successful merges:
    
     - rust-lang#83655 ([aarch64] add target feature outline-atomics)
     - rust-lang#87091 (implement advance_(back_)_by on more iterators)
     - rust-lang#88451 (Fix an ICE caused by type mismatch errors being ignored)
     - rust-lang#88452 (VecDeque: improve performance for From<[T; N]>)
     - rust-lang#89400 (Improve wording of `map_or_else` docs)
     - rust-lang#89407 (Recommend running `cargo clean` in E0514 output)
     - rust-lang#89443 (Include the length in BTree hashes)
     - rust-lang#89444 (rustdoc: use slice::contains instead of open-coding it)
     - rust-lang#89447 (Improve error message for missing angle brackets in `[_]::method`)
     - rust-lang#89453 (Consistently use 'supertrait'.)
     - rust-lang#89483 (Practice diagnostic message convention)
     - rust-lang#89500 (Fix ICE with buffered lint referring to AST node deleted by everybody_loops)
     - rust-lang#89508 (Stabilize `const_panic`)
    
    Failed merges:
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    003d8d3 View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    02c2a35 View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    9f9f7f6 View commit details
    Browse the repository at this point in the history
  54. fix busted JavaScript in error index generator

    The old JavaScript didn't work. It filled the browser console
    with "e.previousElementSibling not defined" errors, because
    it didn't account for the example-wrap div that a newer version
    of rustdoc added.
    
    Additionally, it had copied versions of utility functions that
    had been optimized in rustdoc main.js. This version updates those.
    notriddle committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    ccd2be5 View commit details
    Browse the repository at this point in the history
  55. 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. Fix heading for methods on trait impls.

    Mukund Lakshman committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    4a6aa6e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c35a700 View commit details
    Browse the repository at this point in the history
  3. Change Markdown(...) to Markdown { ... }

    Mukund Lakshman committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    6518a0a View commit details
    Browse the repository at this point in the history
  4. No need to default offset since we always override it.

    Mukund Lakshman committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    13558ee View commit details
    Browse the repository at this point in the history
  5. heading_level: u32 -> heading_offset: HeadingOffset

    Mukund Lakshman committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    f1425c7 View commit details
    Browse the repository at this point in the history
  6. Add tests for ensuring docblock headings.

    Mukund Lakshman committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    08a4f24 View commit details
    Browse the repository at this point in the history
  7. 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)).
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    99e6e3f View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#88090 - nbdd0121:inference, r=nikomatsakis

    Perform type inference in range pattern
    
    Fix rust-lang#88074
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    4f6afee View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#88780 - orlp:int-abs-diff, r=m-ou-se

    Added abs_diff for integer types.
    
    Closes rust-lang#62111.
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    234fa90 View commit details
    Browse the repository at this point in the history
  10. 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.
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    7aa9ce5 View commit details
    Browse the repository at this point in the history
  11. 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````
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    05b4cd6 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#89456 - cuviper:llvm-13, r=nikic

    Update to the final LLVM 13.0.0 release
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    a19537d View commit details
    Browse the repository at this point in the history
  13. 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.
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    36f173f View commit details
    Browse the repository at this point in the history
  14. 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.
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    c2bfe45 View commit details
    Browse the repository at this point in the history
  15. 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.
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    02b52ca View commit details
    Browse the repository at this point in the history
  16. 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.
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    ec41455 View commit details
    Browse the repository at this point in the history
  17. 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.
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    25cc28e View commit details
    Browse the repository at this point in the history
  18. 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.
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    90e96f9 View commit details
    Browse the repository at this point in the history
  19. Rollup merge of rust-lang#89494 - FabianWolff:issue-84075, r=davidtwco

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

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

    update Miri
    
    Let's get the recent fixes and improvements shipped.
    r? ````@ghost````
    workingjubilee authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    2ae8ced View commit details
    Browse the repository at this point in the history
  22. Auto merge of rust-lang#89545 - workingjubilee:rollup-ooxf3p2, r=work…

    …ingjubilee
    
    Rollup of 15 pull requests
    
    Successful merges:
    
     - rust-lang#87993 (Stabilize try_reserve)
     - rust-lang#88090 (Perform type inference in range pattern)
     - rust-lang#88780 (Added abs_diff for integer types.)
     - rust-lang#89270 (path.push() should work as expected on windows verbatim paths)
     - rust-lang#89413 (Correctly handle supertraits for min_specialization)
     - rust-lang#89456 (Update to the final LLVM 13.0.0 release)
     - rust-lang#89466 (Fix bug with query modifier parsing)
     - rust-lang#89473 (Fix extra `non_snake_case` warning for shorthand field bindings)
     - rust-lang#89474 (rustdoc: Improve doctest pass's name and module's name)
     - rust-lang#89478 (Fixed numerus of error message)
     - rust-lang#89480 (Add test for issue 89118.)
     - rust-lang#89487 (Try to recover from a `=>` -> `=` or `->` typo in a match arm)
     - rust-lang#89494 (Deny `where` clauses on `auto` traits)
     - rust-lang#89511 (:arrow_up: rust-analyzer)
     - rust-lang#89536 (update Miri)
    
    Failed merges:
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    a804c4b View commit details
    Browse the repository at this point in the history
  23. library std, libc dependency update

    to solve rust-lang#87528 build.
    devnexen committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    c79447e View commit details
    Browse the repository at this point in the history
  24. Rollup merge of rust-lang#87631 - :solarish_upd_fs, r=joshtriplett

    os current_exe using same approach as linux to get always the full ab…
    
    …solute path
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    0fb0122 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    7a09755 View commit details
    Browse the repository at this point in the history
  26. 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
    dd223d5 View commit details
    Browse the repository at this point in the history
  27. Rollup merge of rust-lang#88816 - dns2utf8:rustdoc_test_gui_2k_consta…

    …nts, r=GuillaumeGomez
    
    Rustdoc migrate to table so the gui can handle >2k constants
    
    Closes rust-lang#88545.
    
    This PR adds a test for overlapping entries in the `item-table` rust-lang#88545
    It currently includes the commit with the workaround from rust-lang#88776
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    52d3afa View commit details
    Browse the repository at this point in the history
  28. Rollup merge of rust-lang#89244 - DeveloperC286:pair_slices_fields_to…

    …_private, r=joshtriplett
    
    refactor: VecDeques PairSlices fields to private
    
    Reducing VecDeque's PairSlices fields to private, a `from(...)` method is already used to create PairSlices.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    eeadc9d View commit details
    Browse the repository at this point in the history
  29. Rollup merge of rust-lang#89364 - hkmatsumoto:encode-json-with-utf-8,…

    … r=Mark-Simulacrum
    
    rustdoc-json: Encode json files with UTF-8
    
    Currently, `check_missing_items.py` malfunctions when the index contains some letters like emojis.
    
    Related to rust-lang#89360.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    27b84a9 View commit details
    Browse the repository at this point in the history
  30. Rollup merge of rust-lang#89423 - DevinR528:reachable-fields, r=Nadri…

    …eril
    
    Fix ICE caused by non_exaustive_omitted_patterns struct lint
    
    fixes rust-lang#89382
    
    Add check that a list of `Pat`s is non empty to prevent ICE in `FnCtxt::lint_non_exhaustive_omitted_patterns`.
    
    Is related to rust-lang#89374 and rust-lang#89105
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    87f782e View commit details
    Browse the repository at this point in the history
  31. Rollup merge of rust-lang#89426 - davidtwco:bootstrap-nix-toolchain-e…

    …nv-var, r=Mark-Simulacrum
    
    bootstrap: add config option for nix patching
    
    On NixOS systems, bootstrap will patch rustc used in bootstrapping after checking `/etc/os-release` (to confirm the current distribution is NixOS). However, when using Nix on a non-NixOS system, it can be desirable for bootstrap to patch rustc. In this commit, a `patch-binaries-for-nix` option is added to `config.toml`, which allows for user opt-in to bootstrap's Nix patching.
    
    r? ``@Mark-Simulacrum``
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    94b72f4 View commit details
    Browse the repository at this point in the history
  32. Rollup merge of rust-lang#89462 - devnexen:haiku_thread_aff_build_fix…

    …, r=nagisa
    
    haiku thread affinity build fix
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    a23d7f0 View commit details
    Browse the repository at this point in the history
  33. Rollup merge of rust-lang#89482 - hkmatsumoto:patch-diagnostics, r=jo…

    …shtriplett
    
    Follow the diagnostic output style guide
    
    Detected by rust-lang#89455.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    04314a6 View commit details
    Browse the repository at this point in the history
  34. Rollup merge of rust-lang#89504 - Aaron1011:rpit-nll-static, r=nikoma…

    …tsakis
    
    Don't suggest replacing region with 'static in NLL
    
    Fixes rust-lang#73159
    
    This is similar to rust-lang#69350 - if the user didn't initially
    write out a 'static lifetime, adding 'static in response to
    a lifetime error is usually the wrong thing to do.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    bf62c6d View commit details
    Browse the repository at this point in the history
  35. Rollup merge of rust-lang#89535 - notriddle:notriddle/error-index-gen…

    …erator-js, r=Mark-Simulacrum
    
    fix busted JavaScript in error index generator
    
    The old JavaScript didn't work. It filled the browser console with "e.previousElementSibling not defined" errors, because it didn't account for the example-wrap div that a newer version of rustdoc added.
    
    Additionally, it had copied versions of utility functions that had been optimized in rustdoc main.js. This version updates those.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    068683b View commit details
    Browse the repository at this point in the history
  36. Auto merge of rust-lang#89549 - Manishearth:rollup-mhkyc16, r=Manishe…

    …arth
    
    Rollup of 12 pull requests
    
    Successful merges:
    
     - rust-lang#87631 (os current_exe using same approach as linux to get always the full ab…)
     - rust-lang#88234 (rustdoc-json: Don't ignore impls for primitive types)
     - rust-lang#88651 (Use the 64b inner:monotonize() implementation not the 128b one for aarch64)
     - rust-lang#88816 (Rustdoc migrate to table so the gui can handle >2k constants)
     - rust-lang#89244 (refactor: VecDeques PairSlices fields to private)
     - rust-lang#89364 (rustdoc-json: Encode json files with UTF-8)
     - rust-lang#89423 (Fix ICE caused by non_exaustive_omitted_patterns struct lint)
     - rust-lang#89426 (bootstrap: add config option for nix patching)
     - rust-lang#89462 (haiku thread affinity build fix)
     - rust-lang#89482 (Follow the diagnostic output style guide)
     - rust-lang#89504 (Don't suggest replacing region with 'static in NLL)
     - rust-lang#89535 (fix busted JavaScript in error index generator)
    
    Failed merges:
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    074f636 View commit details
    Browse the repository at this point in the history
  37. Auto merge of rust-lang#89266 - cjgillot:session-ich, r=michaelwoerister

    Move ICH to rustc_query_system
    
    Based on rust-lang#89183
    
    The StableHashingContext does not need to be in rustc_middle.
    
    This PR moves it to rustc_query_system. This will avoid a dependency between rustc_ast_lowering and rustc_middle in rust-lang#89124.
    bors committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    55111d6 View commit details
    Browse the repository at this point in the history
  38. Auto merge of rust-lang#89363 - oli-obk:in_tracing_we_trust, r=Mark-S…

    …imulacrum
    
    Fix performance regression with #[instrument]
    
    linked tracing PR: tokio-rs/tracing#1600
    
    regression introduced by rust-lang#89048
    bors committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    25ec827 View commit details
    Browse the repository at this point in the history
  39. for signed overflowing remainder, delay comparing lhs with MIN

    Since the wrapped remainder is going to be 0 for all cases when the rhs is -1,
    there is no need to divide in this case. Comparing the lhs with MIN is only done
    for the overflow bool. In particular, this results in better code generation for
    wrapping remainder, which discards the overflow bool completely.
    tspiteri committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    4ec0377 View commit details
    Browse the repository at this point in the history
  40. RustWrapper: adapt for LLVM API change of fatal_error_handler_t

    No functional changes intended.
    
    The LLVM commit
    llvm/llvm-project@e463b69
    changed an argument of fatal_error_handler_t from std::string to char*.
    This adapts RustWrapper accordingly.
    krasimirgg committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    67a82e2 View commit details
    Browse the repository at this point in the history
  41. Make cfg implicitly imply doc(cfg)

    This is only active when the `doc_cfg` feature is active.
    
    The implicit cfg can be overridden via #[doc(cfg(...))], so e.g. to
    hide a #[cfg] you can use something like:
    
    ```rust
     #[cfg(unix)]
     #[doc(cfg(all()))]
    pub struct Unix;
    ```
    
    (since `all()` is always true, it is never shown in the docs)
    Nemo157 authored and GuillaumeGomez committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    10cdbd8 View commit details
    Browse the repository at this point in the history
  42. Allow adding a set of cfg's to hide from being implicitly doc(cfg)'d

    By adding #![doc(cfg_hide(foobar))] to the crate attributes the cfg
     #[cfg(foobar)] (and _only_ that _exact_ cfg) will not be implicitly
    treated as a doc(cfg) to render a message in the documentation.
    Nemo157 authored and GuillaumeGomez committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    18fdd81 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    0031ce3 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    e36a370 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    56e5f61 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    b2e4e59 View commit details
    Browse the repository at this point in the history
  47. refactor: VecDeques IterMut fields to private

    Made the fields of VecDeque's IterMut private by creating a IterMut::new(...) function to create a new instance of IterMut and migrating usage to use IterMut::new(...).
    DeveloperC286 committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    5af61cb View commit details
    Browse the repository at this point in the history
  48. Note specific regions involved in 'borrowed data escapes' error

    Fixes rust-lang#67007
    
    Currently, a 'borrowed data escapes' error does not mention
    the specific lifetime involved (except indirectly through a suggestion
    about adding a lifetime bound). We now explain the specific lifetime
    relationship that failed to hold, which improves otherwise vague
    error messages.
    Aaron1011 committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    3c974ad View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    7c82e78 View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    320ecb1 View commit details
    Browse the repository at this point in the history
  51. Auto merge of rust-lang#7770 - zvavybir:master, r=xFrednet

    improved help message for `suspicious_map`
    
    `suspicious_map`'s help message assumes that the literal behavior is never the intended one, although it's sometimes.  This PR adds a mention of `inspect`, offering a idiomatic alternative.
    
    fixes rust-lang#7767
    
    ---
    
    changelog: Improved help message of [`suspicious_map`].
    bors committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    b9dedf3 View commit details
    Browse the repository at this point in the history
  52. Rollup merge of rust-lang#88706 - ThePuzzlemaker:issue-88609, r=jackh726

    Normalize associated type projections when checking return type of main
    
    This fixes rust-lang#88609.
    
    Previously, the return type of `fn main()` would not have any associated type projections within normalized before checking if it implements the standard library trait `std::process::Termination`. This commit appears to fix it.
    
    This feels vaguely symptomatic of a problem in the underlying trait solving engine, but I am not sure how I would solve that. I am unsure why the example in rust-lang#88609 with `assert_impl_termination` and `fn foo()` work, but simply `fn main()` doesn't. The way that I solved this is also probably not the best way to do this, so please let me know if there is a better way to do this.
    
    I have added a build-pass regression test for this issue.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    960e49e View commit details
    Browse the repository at this point in the history
  53. Rollup merge of rust-lang#88828 - FabianWolff:issue-88585, r=dtolnay

    Use `libc::sigaction()` instead of `sys::signal()` to prevent a deadlock
    
    Fixes rust-lang#88585. POSIX [specifies](https://man7.org/linux/man-pages/man3/fork.3p.html) that after forking,
    > to avoid errors, the child process may only execute async-signal-safe operations until such time as one of the exec functions is called.
    
    Rust's standard library does not currently adhere to this, as evidenced by rust-lang#88585. The child process calls [`sys::signal()`](https://github.com/rust-lang/rust/blob/7bf0736e130e2203c58654f7353dbf9575e49d5c/library/std/src/sys/unix/android.rs#L76), which on Android calls [`libc::dlsym()`](https://github.com/rust-lang/rust/blob/7bf0736e130e2203c58654f7353dbf9575e49d5c/library/std/src/sys/unix/weak.rs#L101), which is [**not**](https://man7.org/linux/man-pages/man7/signal-safety.7.html) async-signal-safe, and in fact causes a deadlock in the example in rust-lang#88585.
    
    I think the easiest solution here would be to just call `libc::sigaction()` instead, which [is](https://man7.org/linux/man-pages/man7/signal-safety.7.html) async-signal-safe, provides the functionality we need, and is apparently available on all Android versions because it is also used e.g. [here](https://github.com/rust-lang/rust/blob/7bf0736e130e2203c58654f7353dbf9575e49d5c/library/std/src/sys/unix/stack_overflow.rs#L112-L114).
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    eb86098 View commit details
    Browse the repository at this point in the history
  54. Rollup merge of rust-lang#88871 - FabianWolff:issue-88403, r=jackh726

    Fix suggestion for nested struct patterns
    
    Fixes rust-lang#88403, and also a similar problem where the unused binding is in a function parameter pattern.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    60b9c5d View commit details
    Browse the repository at this point in the history
  55. Rollup merge of rust-lang#89317 - JulianKnodt:precise_errors, r=BoxyUwU

    Move generic error message to separate branches
    
    This decomposes an error message in generic constants into more specific branches, for better
    readability.
    
    r? ``@lcnr``
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    0352a28 View commit details
    Browse the repository at this point in the history
  56. Rollup merge of rust-lang#89351 - tspiteri:wrapping_rem, r=dtolnay

    for signed wrapping remainder, do not compare lhs with MIN
    
    Since the wrapped remainder is going to be 0 for all cases when the rhs is -1, there is no need to compare the lhs with MIN.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    e745e09 View commit details
    Browse the repository at this point in the history
  57. Rollup merge of rust-lang#89442 - GuillaumeGomez:duplicated-doc-alias…

    …, r=estebank
    
    Add check for duplicated doc aliases
    
    r? ``@estebank``
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    80f1f0d View commit details
    Browse the repository at this point in the history
  58. Rollup merge of rust-lang#89502 - FabianWolff:issue-89493, r=joshtrip…

    …lett
    
    Fix Lower/UpperExp formatting for integers and precision zero
    
    Fixes the integer part of rust-lang#89493 (I daren't touch the floating-point formatting code). The issue is that the "subtracted" precision essentially behaves like extra trailing zeros, but this is not currently reflected in the code properly.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    4e8c853 View commit details
    Browse the repository at this point in the history
  59. Rollup merge of rust-lang#89523 - Aaron1011:derive-future-compat, r=w…

    …esleywiser
    
    Make `proc_macro_derive_resolution_fallback` a future-breakage lint
    
    When `cargo report future-incompatibilities` is stabilized
    (see rust-lang#71249), this will cause dependencies that trigger
    this lint to be included in the report.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    048b0fd View commit details
    Browse the repository at this point in the history
  60. Rollup merge of rust-lang#89532 - ecstatic-morse:maybe-live-locals-en…

    …um, r=oli-obk,tmiasko
    
    Document behavior of  `MaybeLiveLocals` regarding enums and field-senstivity
    
    This arose from a [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/MaybeLiveLocals.20and.20Discriminants) where a new contributor attempted to implement a dead-store elimination pass using this analysis. They ran into a nasty hack around `SetDiscriminant` the effect of which is to lets handle assignments of literals to enum-typed locals (e.g. `x = Some(4)`) correctly. This took me a while to figure out.
    
    Document this oddity, so the next person will have an easier time, and add a test to enshrine the current behavior.
    
    r? ``@tmiasko``
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    f71b3e2 View commit details
    Browse the repository at this point in the history
  61. Rollup merge of rust-lang#89546 - joshtriplett:grow-metadata-faster, …

    …r=petrochenkov
    
    Make an initial guess for metadata size to reduce buffer resizes
    
    When reading metadata, the compiler starts with a `Vec::new()`, which will need to grow repeatedly as the metadata gets decompressed into it. Reduce the number of resizes by starting out at the size of the compressed data.
    Manishearth authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    5f8b161 View commit details
    Browse the repository at this point in the history
  62. Auto merge of rust-lang#89572 - Manishearth:rollup-obz5ycp, r=Manishe…

    …arth
    
    Rollup of 10 pull requests
    
    Successful merges:
    
     - rust-lang#88706 (Normalize associated type projections when checking return type of main)
     - rust-lang#88828 (Use `libc::sigaction()` instead of `sys::signal()` to prevent a deadlock)
     - rust-lang#88871 (Fix suggestion for nested struct patterns)
     - rust-lang#89317 (Move generic error message to separate branches)
     - rust-lang#89351 (for signed wrapping remainder, do not compare lhs with MIN)
     - rust-lang#89442 (Add check for duplicated doc aliases)
     - rust-lang#89502 (Fix Lower/UpperExp formatting for integers and precision zero)
     - rust-lang#89523 (Make `proc_macro_derive_resolution_fallback` a future-breakage lint)
     - rust-lang#89532 (Document behavior of  `MaybeLiveLocals` regarding enums and field-senstivity)
     - rust-lang#89546 (Make an initial guess for metadata size to reduce buffer resizes)
    
    Failed merges:
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    98a5a98 View commit details
    Browse the repository at this point in the history
  63. Consider unfulfilled obligations in binop errors

    When encountering a binop where the types would have been accepted, if
    all the predicates had been fulfilled, include information about the
    predicates and suggest appropriate `#[derive]`s if possible.
    
    Point at trait(s) that needs to be `impl`emented.
    estebank committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    e8fc076 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2021

  1. Configuration menu
    Copy the full SHA
    a15879d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b4c62d5 View commit details
    Browse the repository at this point in the history
  3. test

    BoxyUwU committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    edfd6d5 View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#89323 - estebank:derive-binop, r=petrochenkov

    Consider unfulfilled obligations in binop errors
    
    When encountering a binop where the types would have been accepted, if
    all the predicates had been fulfilled, include information about the
    predicates and suggest appropriate `#[derive]`s if possible.
    
    Fix rust-lang#84515.
    bors committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    d7539a6 View commit details
    Browse the repository at this point in the history
  5. Drop exponent suggestion when 0

    This commit changes numeric literal formatting to drop exponent when
    exponent is 0.
    dswij committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    42f2304 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0e481b9 View commit details
    Browse the repository at this point in the history
  7. Regen update_lints

    Manishearth committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    d9488c5 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e476d05 View commit details
    Browse the repository at this point in the history
  9. Auto merge of rust-lang#7773 - Manishearth:update-lints-mods, r=flip1995

    Move module declarations back into lib.rs
    
    With rust-lang#7673 we moved a lot of things from lib.rs to lib.foo.rs. Unfortunately, rustfmt doesn't seem to work when module declarations are included via `include!` (and trying the `mod foo; use foo::*;` trick doesn't seem to work much either in our specific case).
    
    With this PR we continue generating everything in subfiles except for module declarations, which are now generated within lib.rs.
    
    changelog: none
    bors committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    871b8b5 View commit details
    Browse the repository at this point in the history
  10. Auto merge of rust-lang#7774 - dswij:useless-exponent, r=llogiq

    Useless exponent
    
    Closes rust-lang#7745
    
    I'm open to some thoughts on dropping the exponents on suggestions when it's zero. I personally don't see any problem on this.
    
    changelog: [`useless_exponent`] suggestion drops exponent when exponent value is zero
    bors committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    c6b9158 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b386959 View commit details
    Browse the repository at this point in the history
  12. Restore h1 styles, which got accidentally removed.

    Mukund Lakshman committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    742d8be View commit details
    Browse the repository at this point in the history
  13. Revert the rustc_error_codes changes.

    Mukund Lakshman committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    1f86a8e View commit details
    Browse the repository at this point in the history
  14. Fix typos

    I'm not sure whether I should add links to `bool`, `char`, and `str`. `slice` could also be linked to.
    tsoutsman authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    8b37928 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    a412880 View commit details
    Browse the repository at this point in the history
  16. Auto merge of rust-lang#7776 - tsoutsman:patch-1, r=flip1995

    Fix typos
    
    I'm not sure whether I should add links to `bool`, `char`, and `str`. `slice` could also be linked to.
    
    changelog: none
    bors committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    b9d753e View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    33b9b95 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    80408ef View commit details
    Browse the repository at this point in the history
  19. reset and cleanup

    shamatar committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    94e1413 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    2a8d7bd View commit details
    Browse the repository at this point in the history
  21. fix import

    shamatar committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    d61f95f View commit details
    Browse the repository at this point in the history
  22. add MIR artifacts

    shamatar committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    109d5c7 View commit details
    Browse the repository at this point in the history
  23. Get rid of broken ct-ng oldconfig everywhere and directly provide a…

    … suitable .config file.
    hkratz committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    b5f9cdb View commit details
    Browse the repository at this point in the history
  24. tidy

    shamatar committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    8562d94 View commit details
    Browse the repository at this point in the history
  25. Auto merge of rust-lang#89599 - rusticstuff:ci-fix, r=Mark-Simulacrum

    Switch to our own mirror of libisl plus `ct-ng oldconfig` fixes
    
    Switching to mirror the ISL libs (rust-lang#89594) unearthed a (possibly long-standing?) issue with `ct-ng oldconfig`. It always overwrites the mirror config values. This PR adds the ISL mirror, gets rid of `ct-ng oldconfig` and adds crosstools-ng config files which can be used directly. (Edited)
    
    Fixes rust-lang#89593.
    
    r? `@pietroalbini`
    bors committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    d480cef View commit details
    Browse the repository at this point in the history
  26. run remaining tests

    shamatar committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    4c3465c View commit details
    Browse the repository at this point in the history
  27. Use get_diagnostic_name

    camsteffen committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    b6cab80 View commit details
    Browse the repository at this point in the history
  28. Clean up code a bit:

     * Remove "bool_to_options" feature
     * Update version for compiler feature
     * rustfmt
    GuillaumeGomez committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    8fac41a View commit details
    Browse the repository at this point in the history
  29. opt-level >= 4

    shamatar committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    a31518f View commit details
    Browse the repository at this point in the history
  30. Bless tests

    camsteffen committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    a8d8bfd View commit details
    Browse the repository at this point in the history
  31. Auto merge of rust-lang#7772 - Manishearth:doc-markdown-intra, r=cams…

    …teffen
    
    Handle intra-doc links in doc_markdown
    
    Fixes rust-lang#7758
    
    changelog: Handle intra-doc links in [`doc_markdown`]
    bors committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    11492c7 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    09c7688 View commit details
    Browse the repository at this point in the history
  33. Rollup merge of rust-lang#87601 - a1phyr:feature_uint_add_signed, r=k…

    …ennytm
    
    Add functions to add unsigned and signed integers
    
    This PR adds methods to unsigned integers to add signed integers with good overflow semantics under `#![feature(mixed_integer_ops)]`.
    
    The added API is:
    
    ```rust
    // `uX` is `u8`, `u16`, `u32`, `u64`,`u128`, `usize`
    impl uX {
        pub const fn checked_add_signed(self, iX) -> Option<Self>;
        pub const fn overflowing_add_signed(self, iX) -> (Self, bool);
        pub const fn saturating_add_signed(self, iX) -> Self;
        pub const fn wrapping_add_signed(self, iX) -> Self;
    }
    
    impl iX {
        pub const fn checked_add_unsigned(self, uX) -> Option<Self>;
        pub const fn overflowing_add_unsigned(self, uX) -> (Self, bool);
        pub const fn saturating_add_unsigned(self, uX) -> Self;
        pub const fn wrapping_add_unsigned(self, uX) -> Self;
    
        pub const fn checked_sub_unsigned(self, uX) -> Option<Self>;
        pub const fn overflowing_sub_unsigned(self, uX) -> (Self, bool);
        pub const fn saturating_sub_unsigned(self, uX) -> Self;
        pub const fn wrapping_sub_unsigned(self, uX) -> Self;
    }
    ```
    
    Maybe it would be interesting to also have `add_signed` that panics in debug and wraps in release ?
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    3209582 View commit details
    Browse the repository at this point in the history
  34. Rollup merge of rust-lang#88523 - kpreid:category, r=yaahc

    Expand documentation for `FpCategory`.
    
    I intend these changes to be helpful to readers who are not yet familiar with the quirks of floating-point numbers. Additionally, I felt it was misleading to describe `Nan` as being the result of division by zero, since most divisions by zero (except for 0/0) produce `Infinite` floats, so I moved that remark to the `Infinite` variant with adjustment.
    
    The first sentence of the `Nan` documentation is copied from `f32`; I followed the example of the `f64` documentation by referring to `f32` for general concepts, rather than duplicating the text.
    
    ----
    
    I considered making similar changes to the documentation of the `is_*` methods of floats, but decided that that was a much larger and trickier problem; here, each of the variants' descriptions can be expected to be read in context of being mutually exclusive with the others.
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    1e3b5d6 View commit details
    Browse the repository at this point in the history
  35. Rollup merge of rust-lang#89050 - DeveloperC286:drain_fields_to_priva…

    …te, r=joshtriplett
    
    refactor: VecDeques Drain fields to private
    
    Made the fields of VecDeque's Drain private by creating a Drain::new(...) function to create a new instance of Drain and migrating usage to use Drain::new(...).
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    91e3b51 View commit details
    Browse the repository at this point in the history
  36. Rollup merge of rust-lang#89245 - DeveloperC286:iter_mut_fields_to_pr…

    …ivate, r=joshtriplett
    
    refactor: make VecDeque's IterMut fields module-private, not just crate-private
    
    Made the fields of VecDeque's IterMut private by creating a IterMut::new(...) function to create a new instance of IterMut and migrating usage to use IterMut::new(...).
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    14da7fc View commit details
    Browse the repository at this point in the history
  37. Rollup merge of rust-lang#89324 - yoshuawuyts:hardware-parallelism, r…

    …=m-ou-se
    
    Rename `std::thread::available_conccurrency` to `std::thread::available_parallelism`
    
    _Tracking issue: https://github.com/rust-lang/rust/issues/74479_
    
    This PR renames  `std::thread::available_conccurrency` to `std::thread::available_parallelism`.
    
    ## Rationale
    
    The API was initially named `std::thread::hardware_concurrency`, mirroring the [C++ API of the same name](https://en.cppreference.com/w/cpp/thread/thread/hardware_concurrency). We eventually decided to omit any reference to the word "hardware" after [this comment](rust-lang#74480 (comment)). And so we ended up with `available_concurrency` instead.
    
    ---
    
    For a talk I was preparing this week I was reading through ["Understanding and expressing scalable concurrency" (A. Turon, 2013)](http://aturon.github.io/academic/turon-thesis.pdf), and the following passage stood out to me (emphasis mine):
    
    > __Concurrency is a system-structuring mechanism.__ An interactive system that deals with disparate asynchronous events is naturally structured by division into concurrent threads with disparate responsibilities. Doing so creates a better fit between problem and solution, and can also decrease the average latency of the system by preventing long-running computations from obstructing quicker ones.
    
    > __Parallelism is a resource.__ A given machine provides a certain capacity for parallelism, i.e., a bound on the number of computations it can perform simultaneously. The goal is to maximize throughput by intelligently using this resource. For interactive systems, parallelism can decrease latency as well.
    
    _Chapter 2.1: Concurrency is not Parallelism. Page 30._
    
    ---
    
    _"Concurrency is a system-structuring mechanism. Parallelism is a resource."_ — It feels like this accurately captures the way we should be thinking about these APIs. What this API returns is not "the amount of concurrency available to the program" which is a property of the program, and thus even with just a single thread is effectively unbounded. But instead it returns "the amount of _parallelism_ available to the program", which is a resource hard-constrained by the machine's capacity (and can be further restricted by e.g. operating systems).
    
    That's why I'd like to propose we rename this API from `available_concurrency` to `available_parallelism`. This still meets the criteria we previously established of not attempting to define what exactly we mean by "hardware", "threads", and other such words. Instead we only talk about "concurrency" as an abstract resource available to our program.
    
    r? `@joshtriplett`
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    b4615b5 View commit details
    Browse the repository at this point in the history
  38. Rollup merge of rust-lang#89329 - tmiasko:print-type-sizes-no-fields,…

    … r=jackh726
    
    print-type-sizes: skip field printing for primitives
    
    Fixes rust-lang#86528.
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    b87a9a8 View commit details
    Browse the repository at this point in the history
  39. Rollup merge of rust-lang#89501 - Aaron1011:escaping-name-regions, r=…

    …davidtwco
    
    Note specific regions involved in 'borrowed data escapes' error
    
    Fixes rust-lang#67007
    
    Currently, a 'borrowed data escapes' error does not mention
    the specific lifetime involved (except indirectly through a suggestion
    about adding a lifetime bound). We now explain the specific lifetime
    relationship that failed to hold, which improves otherwise vague
    error messages.
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    b015940 View commit details
    Browse the repository at this point in the history
  40. Rollup merge of rust-lang#89506 - yaymukund:docblock-headings, r=Guil…

    …laumeGomez
    
    librustdoc: Use correct heading levels.
    
    Closes rust-lang#89309
    
    This fixes the `<h#>` header tags throughout the docs to reflect a semantic hierarchy.
    
    - I ran a script to manually check that we don't have any files with multiple `<h1>` tags.
    - Also checked that we never incorrectly nest e.g. a `<h2>` under an `<h3>`.
    - I also spot-checked a bunch of pages (`trait.Read`, `enum.Ordering`, `primitive.isize`, `trait.Iterator`).
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    7d6feb4 View commit details
    Browse the repository at this point in the history
  41. Rollup merge of rust-lang#89528 - FabianWolff:issue-89497, r=jackh726

    Fix suggestion to borrow when casting from pointer to reference
    
    Fixes rust-lang#89497.
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    f5bfa34 View commit details
    Browse the repository at this point in the history
  42. Rollup merge of rust-lang#89531 - devnexen:stack_overflow_bsd_libc_up…

    …d, r=dtolnay
    
    library std, libc dependency update
    
    to solve rust-lang#87528 build.
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    79a1fc8 View commit details
    Browse the repository at this point in the history
  43. Rollup merge of rust-lang#89588 - BoxyUwU:add_a_test_uwu, r=lcnr

    Add a test for generic_const_exprs
    
    Test that const_eval_resolve evaluates consts with unused inference vars in substs
    
    r? ``@lcnr``
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    eb7da35 View commit details
    Browse the repository at this point in the history
  44. Rollup merge of rust-lang#89591 - infinity0:master, r=Amanieu

    fix: alloc-optimisation is only for rust llvm
    
    As discussed at the bottom of rust-lang#83485.
    
    On a separate note I'll take this chance ask, is it worth pulling in that patch (to recognise `__rust_dealloc`) into Debian's system LLVM? The main factors for us to consider would be (1) is the optimisation significant and (2) is there not any significant negative impact to non-rust packages that use LLVM.
    Manishearth authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    f31c805 View commit details
    Browse the repository at this point in the history
  45. Auto merge of rust-lang#89608 - Manishearth:rollup-m7kd76f, r=Manishe…

    …arth
    
    Rollup of 12 pull requests
    
    Successful merges:
    
     - rust-lang#87601 (Add functions to add unsigned and signed integers)
     - rust-lang#88523 (Expand documentation for `FpCategory`.)
     - rust-lang#89050 (refactor: VecDeques Drain fields to private)
     - rust-lang#89245 (refactor: make VecDeque's IterMut fields module-private, not just crate-private)
     - rust-lang#89324 (Rename `std::thread::available_conccurrency` to `std::thread::available_parallelism`)
     - rust-lang#89329 (print-type-sizes: skip field printing for primitives)
     - rust-lang#89501 (Note specific regions involved in 'borrowed data escapes' error)
     - rust-lang#89506 (librustdoc: Use correct heading levels.)
     - rust-lang#89528 (Fix suggestion to borrow when casting from pointer to reference)
     - rust-lang#89531 (library std, libc dependency update)
     - rust-lang#89588 (Add a test for generic_const_exprs)
     - rust-lang#89591 (fix: alloc-optimisation is only for rust llvm)
    
    Failed merges:
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    0eabf25 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2021

  1. Configuration menu
    Copy the full SHA
    549a68b View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#89454 - erikdesjardins:perfattrcheck, r=nikom…

    …atsakis
    
    perf: only check for `rustc_trivial_field_reads` attribute on traits, not items, impls, etc.
    
    The checks that are removed in this PR (originally added in rust-lang#85200) caused a small perf regression: rust-lang#88824 (comment)
    
    Since the attribute is currently only applied to traits, I don't think it's worth keeping the additional checks for now.
    If/when we decide to apply the attribute somewhere else, we can (partially) revert this and reevaluate the perf impact.
    
    r? `@nikomatsakis` cc `@FabianWolff`
    bors committed Oct 7, 2021
    Configuration menu
    Copy the full SHA
    d3e6770 View commit details
    Browse the repository at this point in the history
  3. Revert update_lints module list generating code

    This commit reverts the module list generation code to what it was
    before the change to `include!` it and generates better output.
    Michael Wright committed Oct 7, 2021
    Configuration menu
    Copy the full SHA
    8f075ec View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#7780 - mikerite:update_lints_mod_revert, r=ll…

    …ogiq
    
    Revert `update_lints` module list generating code
    
    This commit reverts the module list generation code to what it was
    before the change to `include!` it and generates better output.
    
    changelog: none
    bors committed Oct 7, 2021
    Configuration menu
    Copy the full SHA
    01ea06a View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#89495 - Mark-Simulacrum:add-inlines, r=michae…

    …lwoerister
    
    Add two inline annotations for hot functions
    
    These two functions are essentially no-ops (and compile to just a load and
    return), but show up in process_obligations profiles with a high call count --
    so worthwhile to try and inline them. This is not normally possible as they're
    non-generic, so they don't get offered for inlining by our current algorithm.
    bors committed Oct 7, 2021
    Configuration menu
    Copy the full SHA
    ca8078d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1f95515 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9613df9 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8f9ef87 View commit details
    Browse the repository at this point in the history
  9. Auto merge of rust-lang#7783 - flip1995:rustup, r=flip1995

    Rustup
    
    r? `@ghost`
    
    Finally an easy, conflict free rustup again 🎉
    
    changelog: none
    bors committed Oct 7, 2021
    Configuration menu
    Copy the full SHA
    b7f3f7f View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    333a06a View commit details
    Browse the repository at this point in the history
  11. Auto merge of rust-lang#86525 - shamatar:array_len_opt, r=oli-obk

    Array `.len()` MIR optimization pass
    
    This pass kind-of works back the `[T; N].len()` call that at the moment is first coerced as `&[T; N]` -> `&[T]` and then uses `&[T].len()`. Depends on rust-lang#86383
    bors committed Oct 7, 2021
    Configuration menu
    Copy the full SHA
    680ff86 View commit details
    Browse the repository at this point in the history
  12. Auto merge of rust-lang#89534 - camsteffen:diag-name, r=oli-obk

    Introduce `tcx.get_diagnostic_name`
    
    Introduces a "reverse lookup" for diagnostic items. This is mainly intended for `@rust-lang/clippy` which often does a long series of `is_diagnostic_item` calls for the same `DefId`.
    
    r? `@oli-obk`
    bors committed Oct 7, 2021
    Configuration menu
    Copy the full SHA
    0157cc9 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#89298 - gcohara:issue89193, r=workingjubilee

    Issue 89193 - Fix ICE when using `usize` and `isize` with SIMD gathers
    
    closes rust-lang#89193
    r? `@workingjubilee`
    GuillaumeGomez authored Oct 7, 2021
    Configuration menu
    Copy the full SHA
    1584b6a View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#89461 - crlf0710:dyn_upcasting_lint, r=niko…

    …matsakis
    
    Add `deref_into_dyn_supertrait` lint.
    
    Initial implementation of rust-lang#89460. Resolves rust-lang#89190.
    Maybe also worth a beta backport if necessary.
    
    r? `@nikomatsakis`
    GuillaumeGomez authored Oct 7, 2021
    Configuration menu
    Copy the full SHA
    ab276b8 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#89477 - Nicholas-Baron:compute_diff_rs, r=M…

    …ark-Simulacrum
    
    Move items related to computing diffs to a separate file
    
    Work towards rust-lang#89475.
    GuillaumeGomez authored Oct 7, 2021
    Configuration menu
    Copy the full SHA
    48548c9 View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#89559 - krasimirgg:llvm-14-fatal_error_hand…

    …ler_t, r=nagisa
    
    RustWrapper: adapt for LLVM API change
    
    No functional changes intended.
    
    The LLVM commit
    llvm/llvm-project@e463b69
    changed an argument of fatal_error_handler_t from std::string to char*.
    This adapts RustWrapper accordingly.
    GuillaumeGomez authored Oct 7, 2021
    Configuration menu
    Copy the full SHA
    110d289 View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#89585 - nbdd0121:issue-89574, r=estebank

    Emit item no type error even if type inference fails
    
    Fix rust-lang#89574
    
    The stashed error should be emitted regardless whether ty references error or not.
    GuillaumeGomez authored Oct 7, 2021
    Configuration menu
    Copy the full SHA
    de0b4f9 View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#89596 - GuillaumeGomez:implicit-doc-cfg, r=…

    …jyn514
    
    Make cfg imply doc(cfg)
    
    This is a reopening of rust-lang#79341, rebased and modified a bit (we made a lot of refactoring in rustdoc's types so they needed to be reflected in this PR as well):
    
     * `hidden_cfg` is now in the `Cache` instead of `DocContext` because `cfg` information isn't stored anymore on `clean::Attributes` type but instead computed on-demand, so we need this information in later parts of rustdoc.
     * I removed the `bool_to_options` feature (which makes the code a bit simpler to read for `SingleExt` trait implementation.
     * I updated the version for the feature.
    
    There is only one thing I couldn't figure out: [this comment](rust-lang#79341 (comment))
    
    > I think I'll likely scrap the whole `SingleExt` extension trait as the diagnostics for 0 and >1 items should be different.
    
    How/why should they differ?
    
    EDIT: this part has been solved, the current code was fine, just needed a little simplification.
    
    cc `@Nemo157`
    r? `@jyn514`
    
    Original PR description:
    
    This is only active when the `doc_cfg` feature is active.
    
    The implicit cfg can be overridden via `#[doc(cfg(...))]`, so e.g. to hide a `#[cfg]` you can use something like:
    
    ```rust
    #[cfg(unix)]
    #[doc(cfg(all()))]
    pub struct Unix;
    ```
    
    By adding `#![doc(cfg_hide(foobar))]` to the crate attributes the cfg `#[cfg(foobar)]` (and _only_ that _exact_ cfg) will not be implicitly treated as a `doc(cfg)` to render a message in the documentation.
    GuillaumeGomez authored Oct 7, 2021
    Configuration menu
    Copy the full SHA
    e32328b View commit details
    Browse the repository at this point in the history
  19. Rollup merge of rust-lang#89615 - willcrichton:fix-get-body-with-borr…

    …owck-facts, r=oli-obk
    
    Add InferCtxt::with_opaque_type_inference to get_body_with_borrowck_facts
    
    `mir_borrowck` uses `with_opaque_type_inference` before calling `do_mir_borrowck`: https://github.com/rust-lang/rust/blob/0eabf25b90396dead0b2a1aaa275af18a1ae6008/compiler/rustc_borrowck/src/lib.rs#L132
    
    However `get_body_with_borrowck_facts` does not. Therefore I get an ICE eg when calling this function on the bodies of an async function as described here: https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/.E2.9C.94.20ICE.20when.20using.20get_body_with_borrowck_facts.20with.20async
    
    This change fixes that bug.
    
    r? `@nikomatsakis`
    GuillaumeGomez authored Oct 7, 2021
    Configuration menu
    Copy the full SHA
    0fbb011 View commit details
    Browse the repository at this point in the history
  20. Auto merge of rust-lang#89629 - GuillaumeGomez:rollup-s4r8me6, r=Guil…

    …laumeGomez
    
    Rollup of 7 pull requests
    
    Successful merges:
    
     - rust-lang#89298 (Issue 89193 - Fix ICE when using `usize` and `isize` with SIMD gathers )
     - rust-lang#89461 (Add `deref_into_dyn_supertrait` lint.)
     - rust-lang#89477 (Move items related to computing diffs to a separate file)
     - rust-lang#89559 (RustWrapper: adapt for LLVM API change)
     - rust-lang#89585 (Emit item no type error even if type inference fails)
     - rust-lang#89596 (Make cfg imply doc(cfg))
     - rust-lang#89615 (Add InferCtxt::with_opaque_type_inference to get_body_with_borrowck_facts)
    
    Failed merges:
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 7, 2021
    Configuration menu
    Copy the full SHA
    5641481 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    8965b58 View commit details
    Browse the repository at this point in the history
  22. Auto merge of rust-lang#89617 - flip1995:clippyup, r=Manishearth

    Update Clippy
    
    r? `@Manishearth`
    bors committed Oct 7, 2021
    Configuration menu
    Copy the full SHA
    485ced5 View commit details
    Browse the repository at this point in the history
  23. Update Miri

    camelid committed Oct 7, 2021
    Configuration menu
    Copy the full SHA
    9771803 View commit details
    Browse the repository at this point in the history
  24. Auto merge of rust-lang#89638 - rust-lang:revert-88548-intersperse, r…

    …=Mark-Simulacrum
    
    Revert "Stabilize `Iterator::intersperse()`"
    
    Reverts rust-lang#88548
    
    First step in resolving rust-lang#88967
    bors committed Oct 7, 2021
    Configuration menu
    Copy the full SHA
    2ee06e7 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2021

  1. Auto merge of rust-lang#89646 - camelid:miri-up, r=RalfJung

    Update Miri
    
    Fixes rust-lang#89612.
    
    r? `@RalfJung`
    bors committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    c2171ee View commit details
    Browse the repository at this point in the history
  2. Add documentation to Box conversions

    Among other changes, documents whether allocations are necessary
    to complete the type conversion.
    
    Part of rust-lang#51430
    
    Co-authored-by: Giacomo Stevanato <giaco.stevanato@gmail.com>
    
    Co-authored-by: Joshua Nelson <github@jyn.dev>
    timClicks and jyn514 committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    6dd7fa1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    78810bd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    057236d View commit details
    Browse the repository at this point in the history
  5. Fix trailing whitespace

    timClicks committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    a1c1256 View commit details
    Browse the repository at this point in the history
  6. Correctly document the error behavior

    Co-authored-by: Giacomo Stevanato <giaco.stevanato@gmail.com>
    timClicks and SkiFire13 committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    9398ea2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    aafa0a7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    fc97fc1 View commit details
    Browse the repository at this point in the history