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

Adds documentation of the new command line document-tests in the rustbook #4

Merged
merged 1,984 commits into from
Oct 7, 2024
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Oct 2, 2024

  1. Rollup merge of rust-lang#131150 - bvanjoi:issue-128327, r=chenyukang

    only query `params_in_repr` if def kind is adt
    
    Fixes rust-lang#128327
    
    `params_in_repr` was only stored in `encode_info_for_adt`, so we only query it when the def kind belongs to them.
    
    https://github.com/rust-lang/rust/blob/9e3e5174462afaf6c3b9db9b35c6d1934521848a/compiler/rustc_metadata/src/rmeta/encoder.rs#L1566-L1567
    matthiaskrgr authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    2e0db79 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#131151 - jieyouxu:adjust-pr-template, r=fmease

    Replace zero-width whitespace with a visible `\` in the PR template
    
    People (incl. myself) tried to copy the `r?` which had an invisible zero-width whitespace (meaning it was actually more like `r⌴?`), causing rustbot to not recognize the instruction, and which makes it difficult to figure out why it didn't work.
    
    This PR replaces the zero-width whitespace with a visible `\` alongside a comment to remove the `\`. It's a bit less "visual", but at least it's visible why the rustbot assignment doesn't work.
    matthiaskrgr authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    06d5218 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#131152 - fee1-dead-contrib:fxdiag, r=compil…

    …er-errors
    
    Improve const traits diagnostics for new desugaring
    
    r? project-const-traits
    matthiaskrgr authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    b38f7ad View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d868fdc View commit details
    Browse the repository at this point in the history
  5. bless miri tests

    joboet committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    a71ba0c View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#131158 - matthiaskrgr:rollup-3x2vado, r=matth…

    …iaskrgr
    
    Rollup of 7 pull requests
    
    Successful merges:
    
     - rust-lang#130863 (Relax a debug assertion for dyn principal *equality* in codegen)
     - rust-lang#131016 (Apple: Do not specify an SDK version in `rlib` object files)
     - rust-lang#131140 (Handle `rustc_hir_analysis` cases of `potential_query_instability` lint)
     - rust-lang#131141 (mpmc doctest: make sure main thread waits for child threads)
     - rust-lang#131150 (only query `params_in_repr` if def kind is adt)
     - rust-lang#131151 (Replace zero-width whitespace with a visible `\` in the PR template)
     - rust-lang#131152 (Improve const traits diagnostics for new desugaring)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    5384697 View commit details
    Browse the repository at this point in the history
  7. Fix target_vendor for aarch64-nintendo-switch-freestanding

    Previously set to `target_vendor = "unknown"`, but Nintendo is clearly
    the vendor of the Switch, and is also reflected in the target name
    itself.
    madsmtm committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    746c322 View commit details
    Browse the repository at this point in the history
  8. epoll: add data_race test

    This test demonstrates the need to synchronize the clock
    of the thread waking up from an epoll_wait from the thread
    that issued the epoll awake event.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    3e089b0 View commit details
    Browse the repository at this point in the history
  9. epoll: remove unnecessary instructions

    A couple of instructions were left over from an earlier rebase
    it would seem. They don't impact the logic but the ready_list type
    is about to change in the next commit.
    
    Rather than modify one of these lines in the commit that changes
    ready_list, only to have these lines removed later on, remove them now.
    They don't impact the tests results.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    1b622f4 View commit details
    Browse the repository at this point in the history
  10. epoll: add vector clock to the epoll ready_list

    This adds a VClock to the epoll implementation's ready_list
    and has this VClock synced from the thread that updates
    an event in the ready_list and then has the VClocks of any
    threads being made runnable again, out of the calls to
    epoll_wait, synced from it.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    86bb137 View commit details
    Browse the repository at this point in the history
  11. epoll: remove extraneous clone of ready_list

    A simplification that doesn't impact the epoll implementation's logic.
    
    It is not necessary to clone the ready_list before reading its
    `is_empty` state.
    
    This avoids the clone step but more importantly avoids the invisible
    drop step of the clone.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    81202c8 View commit details
    Browse the repository at this point in the history
  12. Fix target_env in avr-unknown-gnu-atmega328

    The target name itself contains GNU, we should set that in the
    environment as well.
    madsmtm committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    033fdda View commit details
    Browse the repository at this point in the history
  13. Fix target_abi in SOLID targets

    The `armv7a-kmc-solid_asp3-eabi` and `armv7a-kmc-solid_asp3-eabihf`
    targets clearly have the ABI in their name, so it should also be exposed
    in Rust's `target_abi` cfg variable.
    madsmtm committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    0ae7964 View commit details
    Browse the repository at this point in the history
  14. Auto merge of rust-lang#130821 - lcnr:nalgebra-hang-2, r=compiler-errors

    add caching to most type folders, rm region uniquification
    
    Fixes the new minimization of the hang in nalgebra and nalgebra itself :3
    
    this is a bit iffy, especially the cache in `TypeRelating`. I believe all the caches are correct, but it definitely adds some non-local complexity in places. The first commit removes region uniquification, reintroducing the ICE from rust-lang/trait-system-refactor-initiative#27. This does not affect coherence and I would like to fix this by introducing OR-region constraints
    
    r? `@compiler-errors`
    bors committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    18b1161 View commit details
    Browse the repository at this point in the history
  15. Auto merge of rust-lang#3932 - rust-lang:epoll-with-vector-clock, r=o…

    …li-obk
    
    Add vector clock to epoll ready lists
    
    Replaces rust-lang#3928
    
    Fixes rust-lang#3911
    bors committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    52aa98a View commit details
    Browse the repository at this point in the history
  16. library: Stabilize const_str_from_utf8_unchecked_mut

    Const-stabilizes:
    - `str::from_utf8_unchecked_mut`
    workingjubilee committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    a022868 View commit details
    Browse the repository at this point in the history
  17. library: Stabilize const_str_as_mut

    Const-stabilizes:
    - `str::as_bytes_mut`
    - `str::as_mut_ptr`
    workingjubilee committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    bcc78bd View commit details
    Browse the repository at this point in the history
  18. library: Stabilize const_ptr_as_ref

    Const-stabilizes:
    - `NonNull::as_mut`
    workingjubilee committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    966405d View commit details
    Browse the repository at this point in the history
  19. library: Stabilize const_unsafecell_get_mut

    Const-stabilizes:
    - `UnsafeCell::get_mut`
    workingjubilee committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    75db6b2 View commit details
    Browse the repository at this point in the history
  20. library: Stabilize const_slice_first_last

    Const-stabilizes:
    - `slice::first_mut`
    - `slice::split_first_mut`
    - `slice::last_mut`
    - `slice::split_last_mut`
    workingjubilee committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    ac53f1f View commit details
    Browse the repository at this point in the history
  21. Auto merge of rust-lang#131006 - RalfJung:immediate-sanity, r=saethlin

    interpret: always enable write_immediate sanity checks
    
    Writing a wrongly-sized scalar somewhere can have quite confusing effects. Let's see how expensive it is to catch this early.
    bors committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    9c7013c View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2024

  1. Auto merge of rust-lang#131148 - Urgau:hashbrown-0.15, r=Amanieu

    Update hashbrown to 0.15 and adjust some methods
    
    This PR updates `hashbrown` to 0.15 in the standard library and adjust some methods as well as removing some as they no longer exists in Hashbrown it-self.
    
     - `HashMap::get_many_mut` change API to return array-of-Option
     - `HashMap::{replace_entry, replace_key}` are removed, FCP close [already finished](rust-lang#44286 (comment))
     - `HashSet::get_or_insert_owned` is removed as it no longer exists in hashbrown
    
    Closes rust-lang#44286
    r? `@Amanieu`
    bors committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    ad9c494 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f95bdf4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cb7e369 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7cd466a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6e8573c View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#127912 - joboet:tls_dtor_thread_current, r=cu…

    …viper
    
    std: make `thread::current` available in all `thread_local!` destructors
    
    ... and thereby allow the panic runtime to always print the right thread name.
    
    This works by modifying the TLS destructor system to schedule a runtime cleanup function after all other TLS destructors registered by `std` have run. Unfortunately, this doesn't affect foreign TLS destructors, `thread::current` will still panic there.
    
    Additionally, the thread ID returned by `current_id` will now always be available, even inside the global allocator, and will not change during the lifetime of one thread (this was previously the case with key-based TLS).
    
    The mechanisms I added for this (`local_pointer` and `thread_cleanup`) will also allow finally fixing rust-lang#111272 by moving the signal stack to a similar runtime-cleanup TLS variable.
    bors committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    fd1f8aa View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    11f738f View commit details
    Browse the repository at this point in the history
  8. Add get_line confusable to Stdin::read_line()

    Add tests for addition of `#[rustc_confusables("get_line")]`
    JakenHerman committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    4b48d72 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#126930 - Xaeroxe:file-checksum-hint, r=chen…

    …yukang
    
    Add unstable support for outputting file checksums for use in cargo
    
    Adds an unstable option that appends file checksums and expected lengths to the end of the dep-info file such that `cargo` can read and use these values as an alternative to file mtimes.
    
    This PR powers the changes made in this cargo PR rust-lang/cargo#14137
    
    Here's the tracking issue for the cargo feature rust-lang/cargo#14136.
    workingjubilee authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    44f6275 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#130725 - GrigorenkoPV:@-in-struct-patterns,…

    … r=Nadrieril
    
    Parser: better error messages for `@` in struct patterns
    workingjubilee authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    b7c33e2 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#131166 - madsmtm:target-info-switch-vendor,…

    … r=jieyouxu
    
    Fix `target_vendor` for `aarch64-nintendo-switch-freestanding`
    
    Previously set to `target_vendor = "unknown"`, but Nintendo is clearly the vendor of the Switch, and is also reflected in the target name itself.
    
    CC target maintainers `@leo60228` and `@jam1garner`
    workingjubilee authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    cc61b81 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    3d8bd6b View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    be819d4 View commit details
    Browse the repository at this point in the history
  14. Merge from rustc

    RalfJung committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    6280e26 View commit details
    Browse the repository at this point in the history
  15. fmt

    RalfJung committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    32d4968 View commit details
    Browse the repository at this point in the history
  16. Auto merge of rust-lang#131185 - workingjubilee:rollup-wkcqe2j, r=wor…

    …kingjubilee
    
    Rollup of 3 pull requests
    
    Successful merges:
    
     - rust-lang#126930 (Add unstable support for outputting file checksums for use in cargo)
     - rust-lang#130725 (Parser: better error messages for ``@`` in struct patterns)
     - rust-lang#131166 (Fix `target_vendor` for `aarch64-nintendo-switch-freestanding`)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    8885239 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    9b35886 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    bf71d65 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    a8f9a32 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    2cf1559 View commit details
    Browse the repository at this point in the history
  21. Auto merge of rust-lang#128711 - clarfonthey:default-iters-hash, r=dt…

    …olnay
    
    impl `Default` for `HashMap`/`HashSet` iterators that don't already have it
    
    This is a follow-up to rust-lang#128261 that isn't included in that PR because it depends on:
    
    * [x] rust-lang/hashbrown#542 (`Default`)
    * [x] `hashbrown` release containing above
    
    It also wasn't included in rust-lang#128261 initially and should have its own FCP, since these are also insta-stable.
    
    Changes added:
    
    * `Default for hash_map::{Iter, IterMut, IntoIter, IntoKeys, IntoValues, Keys, Values, ValuesMut}`
    * `Default for hash_set::{Iter, IntoIter}`
    
    Changes that were added before FCP, but are being deferred to later:
    
    * `Clone for hash_map::{IntoIter, IntoKeys, IntoValues} where K: Clone, V: Clone`
    * `Clone for hash_set::IntoIter where K: Clone`
    bors committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    f7c8928 View commit details
    Browse the repository at this point in the history
  22. add direnv to gitignore

    Orion Gonzalez committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    3a0ed0c View commit details
    Browse the repository at this point in the history
  23. add nix files to gitignore

    Orion Gonzalez committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    510e262 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    83d0d9f View commit details
    Browse the repository at this point in the history
  25. Avoid ICE in coverage builds with bad #[coverage(..)] attributes

    This code can sometimes witness malformed coverage attributes in builds that
    are going to fail, so use `span_delayed_bug` to avoid an inappropriate ICE in
    that case.
    Zalathar committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    8e382ba View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    8918a9d View commit details
    Browse the repository at this point in the history
  27. Rollup merge of rust-lang#130419 - nnethercote:streamline-HirCollecto…

    …r, r=GuillaumeGomez
    
    Streamline `HirCollector`
    
    r? `@GuillaumeGomez`
    matthiaskrgr authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    c9b907a View commit details
    Browse the repository at this point in the history
  28. Rollup merge of rust-lang#131163 - JakenHerman:master, r=Nadrieril

    Add `get_line` confusable to `Stdin::read_line()`
    
    This pull request resolves rust-lang#131091
    
    ---
    
    I've updated tests for `tests/ui/attributes/rustc_confusables_std_cases` in order to verify this change is working as intended.
    
    Before I submitted this pull request, I had a pull request to my local fork. If you're interested in seeing the conversation on that PR, go to JakenHerman#1.
    
    ---
    
    **Testing**:
    Run `./x.py test tests/ui/attributes/rustc_confusables_std_cases.rs`
    matthiaskrgr authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    aedf14b View commit details
    Browse the repository at this point in the history
  29. Rollup merge of rust-lang#131173 - madsmtm:target-info-solid_asp3-abi…

    …, r=lcnr
    
    Fix `target_abi` in SOLID targets
    
    The `armv7a-kmc-solid_asp3-eabi` and `armv7a-kmc-solid_asp3-eabihf` targets clearly have the ABI in their name, so it should also be exposed in Rust's `target_abi` cfg variable.
    
    CC target maintainer `@kawadakk.`
    matthiaskrgr authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    35ff9e2 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    d300cdf View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    c994a60 View commit details
    Browse the repository at this point in the history
  32. Auto merge of rust-lang#13492 - flip1995:rustup, r=flip1995

    Rustup
    
    r? `@ghost`
    
    changelog: none
    bors committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    aa0d551 View commit details
    Browse the repository at this point in the history
  33. Failing diff test

    compiler-errors committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    9c91a4e View commit details
    Browse the repository at this point in the history
  34. Auto merge of rust-lang#131196 - matthiaskrgr:rollup-3it3zqp, r=matth…

    …iaskrgr
    
    Rollup of 3 pull requests
    
    Successful merges:
    
     - rust-lang#130419 (Streamline `HirCollector`)
     - rust-lang#131163 (Add `get_line` confusable to `Stdin::read_line()`)
     - rust-lang#131173 (Fix `target_abi` in SOLID targets)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    1e5719b View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    d47e388 View commit details
    Browse the repository at this point in the history
  36. bootstrap: Consolidate editor LSP setup

    Consolidate LSP setup for different editors into one `./x setup editor`.
    mrkajetanp committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    456be10 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    b823547 View commit details
    Browse the repository at this point in the history
  38. Auto merge of rust-lang#131205 - flip1995:clippy-subtree-update, r=Ma…

    …nishearth
    
    Clippy subtree update
    
    r? `@Manishearth`
    bors committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    56e35a5 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    bc5f952 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    f0bfba2 View commit details
    Browse the repository at this point in the history
  41. Auto merge of rust-lang#131145 - ismailarilik:handle_potential_query_…

    …instability_lint_for_rustc_metadata, r=compiler-errors
    
    Handle `rustc_metadata` cases of `rustc::potential_query_instability` lint
    
    This PR removes `#![allow(rustc::potential_query_instability)]` line from [`compiler/rustc_metadata/src/lib.rs`](https://github.com/rust-lang/rust/blob/master/compiler/rustc_metadata/src/lib.rs#L3) and converts `FxHash{Map,Set}` types into `FxIndex{Map,Set}` to suppress lint errors.
    
    A somewhat tracking issue: rust-lang#84447
    bors committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    9ff5fc4 View commit details
    Browse the repository at this point in the history
  42. Rollup merge of rust-lang#131024 - compiler-errors:deref-sugg, r=este…

    …bank
    
    Don't give method suggestions when method probe fails due to bad implementation of `Deref`
    
    If we have a bad `Deref` impl, we used to bail with `MethodError::NoMatch`, which makes the error reporting code think that there was no applicable method (and thus try to suggest importing something, even if it's in scope).
    
    Suppress this error, which fixes rust-lang#131003.
    matthiaskrgr authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    0d65f12 View commit details
    Browse the repository at this point in the history
  43. Rollup merge of rust-lang#131112 - jswrenn:fix-130413, r=compiler-errors

    TransmuteFrom: Gracefully handle unnormalized types and normalization errors
    
    ~~Refactor to share code between `TransmuteFrom`'s trait selection and error reporting code paths. Additionally normalizes the source and destination types, and gracefully handles normalization errors.~~
    
    Fixes rust-lang#130413
    
    r​? `@compiler-errors`
    matthiaskrgr authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    33b4947 View commit details
    Browse the repository at this point in the history
  44. Rollup merge of rust-lang#131176 - dev-ardi:gitignore, r=Noratrieb

    .gitignore files for nix
    
    This adds support for direnv and nix flakes / nix shell. I'm not sure if we should have a working nix configuration though.
    
    r? ``@noratrieb``
    matthiaskrgr authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    d3a3ac2 View commit details
    Browse the repository at this point in the history
  45. Rollup merge of rust-lang#131183 - compiler-errors:opaque-ty-origin, …

    …r=estebank
    
    Refactoring to `OpaqueTyOrigin`
    
    Pulled out of a larger PR that uses these changes to do cross-crate encoding of opaque origin, so we can use them for edition 2024 migrations. These changes should be self-explanatory on their own, tho 😄
    matthiaskrgr authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    da81f64 View commit details
    Browse the repository at this point in the history
  46. Rollup merge of rust-lang#131187 - Zalathar:bad-attr-ice, r=jieyouxu

    Avoid ICE in coverage builds with bad `#[coverage(..)]` attributes
    
    This code can sometimes witness malformed coverage attributes in builds that are going to fail, so use `span_delayed_bug` to avoid an inappropriate ICE in that case.
    
    Fixes rust-lang#127880.
    matthiaskrgr authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    28b64d8 View commit details
    Browse the repository at this point in the history
  47. Rollup merge of rust-lang#131192 - ismailarilik:handle-potential-quer…

    …y-instability-lint-for-rustc-query-impl, r=compiler-errors
    
    Handle `rustc_query_impl` cases of `rustc::potential_query_instability` lint
    
    This PR removes `#![allow(rustc::potential_query_instability)]` line from [`compiler/rustc_query_impl/src/lib.rs`](https://github.com/rust-lang/rust/blob/master/compiler/rustc_query_impl/src/lib.rs#L5) <s>and converts `FxHash{Map,Set}` types into `FxIndex{Map,Set}` to suppress lint errors</s> (was not necessary for this PR).
    
    A somewhat tracking issue: rust-lang#84447
    
    r? ``@compiler-errors``
    matthiaskrgr authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    6753e07 View commit details
    Browse the repository at this point in the history
  48. Rollup merge of rust-lang#131197 - EFanZh:avoid-emptyness-check-in-pe…

    …ekmut-pop, r=Amanieu
    
    Avoid emptiness check in `PeekMut::pop`
    
    This PR avoids an unnecessary emptiness check in `PeekMut::pop` by replacing `Option::unwrap` with `Option::unwrap_unchecked`.
    matthiaskrgr authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    29580e1 View commit details
    Browse the repository at this point in the history
  49. Merge rustc_infer::infer::relate::{glb,lub}.

    Most of the code in these two modules is duplicated in the other module.
    This commit eliminates the duplication by replacing them with a new
    module `lattice_op`. The new `LatticeOpKind` enum is used to distinguish
    between glb and lub in the few places where the behaviour differs.
    nnethercote committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    0aab101 View commit details
    Browse the repository at this point in the history
  50. Remove LatticeDir trait.

    It's no longer necessary now that the `glb` and `lub` modules have been
    merged.
    nnethercote committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    ee227de View commit details
    Browse the repository at this point in the history
  51. Auto merge of rust-lang#131215 - matthiaskrgr:rollup-i021ef7, r=matth…

    …iaskrgr
    
    Rollup of 7 pull requests
    
    Successful merges:
    
     - rust-lang#131024 (Don't give method suggestions when method probe fails due to bad implementation of `Deref`)
     - rust-lang#131112 (TransmuteFrom: Gracefully handle unnormalized types and normalization errors)
     - rust-lang#131176 (.gitignore files for nix)
     - rust-lang#131183 (Refactoring to `OpaqueTyOrigin`)
     - rust-lang#131187 (Avoid ICE in coverage builds with bad `#[coverage(..)]` attributes)
     - rust-lang#131192 (Handle `rustc_query_impl` cases of `rustc::potential_query_instability` lint)
     - rust-lang#131197 (Avoid emptiness check in `PeekMut::pop`)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    e1e3cac View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2024

  1. Auto merge of rust-lang#131191 - nnethercote:lattice_op, r=lcnr

    Merge `glb` and `lub` modules
    
    Tons of code is duplicated across them, and it's easy to factor that out.
    
    r? `@lcnr`
    bors committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    7067e4a View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#131201 - compiler-errors:unop-not, r=cjgillot

    Disable jump threading `UnOp::Not` for non-bool
    
    Fix rust-lang#131195, where jumpthreading was optimizing `!a == b` into `a != b` for non-bool, where this is definitely not true.
    bors committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    11ee3a8 View commit details
    Browse the repository at this point in the history
  3. Preparing for merge from rustc

    The Miri Cronjob Bot committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    d19bd66 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    253fec4 View commit details
    Browse the repository at this point in the history
  5. Merge from rustc

    The Miri Cronjob Bot committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    7014ae8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    62ef411 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    781f184 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a3ffa1e View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    eefe320 View commit details
    Browse the repository at this point in the history
  10. Auto merge of rust-lang#131228 - jdonszelmann:remove-blank-issue, r=m…

    …-ou-se
    
    remove blank issue template
    
    r? `@Noratrieb`
    
    So there are currently two blank issue templates. One called "Blank Issue" and one called "Blank issue". Wildly different, of course. It seems that one is auto generated by GitHub, while the other one has an explicit template for it. This removes the explicit one so there's only one "Blank [iI]ssue" in the list. Unfortunately, the only way to test if it works is merging this and finding out, but it seems obvious that it would work.
    
    ![image](https://github.com/user-attachments/assets/f802ca88-a80f-48e8-9aff-4008ec030dfa)
    bors committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    3002af6 View commit details
    Browse the repository at this point in the history
  11. clippy

    RalfJung committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    dc88a6a View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    6602a23 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    32099db View commit details
    Browse the repository at this point in the history
  14. Week off of reviews to focus on docs

    Dedicating a week to work on rustc-dev-guide.
    jieyouxu committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    0369ee4 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    018ba05 View commit details
    Browse the repository at this point in the history
  16. Auto merge of rust-lang#131224 - notriddle:notriddle/intra-doc-link-v…

    …alue, r=GuillaumeGomez
    
    rustdoc: prevent ctors from resolving
    
    Fixes rust-lang#130591
    bors committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    267cf8d View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    f59c8ff View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#131034 - Urgau:cfg-true-false, r=nnethercote

    Implement RFC3695 Allow boolean literals as cfg predicates
    
    This PR implements rust-lang/rfcs#3695: allow boolean literals as cfg predicates, i.e. `cfg(true)` and `cfg(false)`.
    
    r? `@nnethercote` *(or anyone with parser knowledge)*
    cc `@clubby789`
    GuillaumeGomez authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    2ceeeb1 View commit details
    Browse the repository at this point in the history
  19. Rollup merge of rust-lang#131202 - Urgau:wide-ptrs-compiler, r=jieyouxu

    Use wide pointers consistenly across the compiler
    
    This PR replace every use of "fat pointer" for the more recent "wide pointer" terminology.
    
    Since some time T-lang as preferred the "wide pointer" terminology, as can be seen on [the last RFCs](https://github.com/search?q=repo%3Arust-lang%2Frfcs+%22wide+pointer%22&type=code), on some [lints](https://doc.rust-lang.org/rustc/lints/listing/warn-by-default.html#ambiguous-wide-pointer-comparisons), but also in [the reference](https://doc.rust-lang.org/stable/reference/expressions/operator-expr.html?highlight=wide%20pointer#pointer-to-pointer-cast).
    
    Currently we have a [mix of both](https://github.com/search?q=repo%3Arust-lang%2Frust+%22wide+pointer%22&type=code) (including in error messages), which isn't great, but with this PR no more.
    
    r? `@jieyouxu` (feel free to re-roll)
    GuillaumeGomez authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    ba94a2a View commit details
    Browse the repository at this point in the history
  20. Rollup merge of rust-lang#131230 - GuillaumeGomez:no-sandbox, r=notri…

    …ddle
    
    Enable `--no-sandbox` option by default for rustdoc GUI tests
    
    It's apparently common enough for people to have issues with the `sandbox` mode in chromium, so better disable it by default.
    
    r? `@notriddle`
    GuillaumeGomez authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    11b1b4f View commit details
    Browse the repository at this point in the history
  21. Rollup merge of rust-lang#131232 - jieyouxu:docs-week, r=bjorn3

    Week off of reviews to focus on docs
    
    Dedicating a week to work on rustc-dev-guide.
    Should be back on Oct. 11/12.
    GuillaumeGomez authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    6d69af7 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    ea3d336 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    c6774f1 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    d00b754 View commit details
    Browse the repository at this point in the history
  25. Auto merge of rust-lang#3895 - TDecking:gfni, r=RalfJung

    Implement LLVM x86 gfni intrinsics
    bors committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    f7400c3 View commit details
    Browse the repository at this point in the history
  26. Auto merge of rust-lang#131237 - GuillaumeGomez:rollup-il2i7z7, r=Gui…

    …llaumeGomez
    
    Rollup of 4 pull requests
    
    Successful merges:
    
     - rust-lang#131034 (Implement RFC3695 Allow boolean literals as cfg predicates)
     - rust-lang#131202 (Use wide pointers consistenly across the compiler)
     - rust-lang#131230 (Enable `--no-sandbox` option by default for rustdoc GUI tests)
     - rust-lang#131232 (Week off of reviews to focus on docs)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    c39f318 View commit details
    Browse the repository at this point in the history
  27. Fix list margins

    GuillaumeGomez committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    cc36e0d View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    1c63ec9 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    3686e59 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    be2540a View commit details
    Browse the repository at this point in the history
  31. Auto merge of rust-lang#130157 - eduardosm:stabilize-const_float_clas…

    …sify, r=RalfJung
    
    Stabilize `const_float_classify`
    
    Tracking issue: rust-lang#72505
    
    Also reverts rust-lang#114486
    
    Closes rust-lang#72505
    
    Stabilized const API:
    
    ```rust
    impl f32 {
        pub const fn is_nan(self) -> bool;
        pub const fn is_infinite(self) -> bool;
        pub const fn is_finite(self) -> bool;
        pub const fn is_subnormal(self) -> bool;
        pub const fn is_normal(self) -> bool;
        pub const fn classify(self) -> FpCategory;
        pub const fn is_sign_positive(self) -> bool;
        pub const fn is_sign_negative(self) -> bool;
    }
    
    impl f64 {
        pub const fn is_nan(self) -> bool;
        pub const fn is_infinite(self) -> bool;
        pub const fn is_finite(self) -> bool;
        pub const fn is_subnormal(self) -> bool;
        pub const fn is_normal(self) -> bool;
        pub const fn classify(self) -> FpCategory;
        pub const fn is_sign_positive(self) -> bool;
        pub const fn is_sign_negative(self) -> bool;
    }
    ```
    
    cc `@rust-lang/wg-const-eval` `@rust-lang/libs-api`
    bors committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    14f303b View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    f46e162 View commit details
    Browse the repository at this point in the history
  33. Fix target_abi in sparc-unknown-none-elf

    This was previously set to `target_abi = "elf"`, but `elf` is not used
    elsewhere as a target ABI (even though there's many targets that have it
    in their name).
    madsmtm committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    f51d8e3 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    e08002f View commit details
    Browse the repository at this point in the history
  35. Update cargo

    weihanglo committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    d0a467a View commit details
    Browse the repository at this point in the history
  36. Rollup merge of rust-lang#130453 - randomPoison:trusty-x86, r=pnkfelix

    Add x86_64-unknown-trusty as tier 3 target
    
    This PR adds a third target for the Trusty platform, `x86_64-unknown-trusty`.
    
    Please let me know if an MCP is required. rust-lang/compiler-team#582 was made when adding the first two targets, I can make another one for the new target as well if needed.
    
    # Target Tier Policy Acknowledgements
    
    > A tier 3 target must have a designated developer or developers (the "target maintainers") on record to be CCed when issues arise regarding the target. (The mechanism to track and CC such developers may evolve over time.)
    
    - Nicole LeGare (```@randomPoison)```
    - Andrei Homescu (```@ahomescu)```
    - Chris Wailes ([email protected])
    - As a fallback [email protected] can be contacted
    
    Note that this does not reflect the maintainers currently listed in [`trusty.md`](https://github.com/rust-lang/rust/blob/c52c23b6f44cd19718721a5e3b2eeb169e9c96ff/src/doc/rustc/src/platform-support/trusty.md). rust-lang#130452 is currently open to update the list of maintainers in the documentation.
    
    > Targets must use naming consistent with any existing targets; for instance, a target for the same CPU or OS as an existing Rust target should use the same name for that CPU or OS. Targets should normally use the same names and naming conventions as used elsewhere in the broader ecosystem beyond Rust (such as in other toolchains), unless they have a very good reason to diverge. Changing the name of a target can be highly disruptive, especially once the target reaches a higher tier, so getting the name right is important even for a tier 3 target.
    
    The new target `x86_64-unknown-trusty` follows the existing naming convention for similar targets.
    
    > Target names should not introduce undue confusion or ambiguity unless absolutely necessary to maintain ecosystem compatibility. For example, if the name of the target makes people extremely likely to form incorrect beliefs about what it targets, the name should be changed or augmented to disambiguate it.
    
    👍
    
    > Tier 3 targets may have unusual requirements to build or use, but must not create legal issues or impose onerous legal terms for the Rust project or for Rust developers or users.
    
    There are no known legal issues or license incompatibilities.
    
    > Neither this policy nor any decisions made regarding targets shall create any binding agreement or estoppel by any party. If any member of an approving Rust team serves as one of the maintainers of a target, or has any legal or employment requirement (explicit or implicit) that might affect their decisions regarding a target, they must recuse themselves from any approval decisions regarding the target's tier status, though they may otherwise participate in discussions.
    
    👍
    
    > Tier 3 targets should attempt to implement as much of the standard libraries as possible and appropriate (core for most targets, alloc for targets that can support dynamic memory allocation, std for targets with an operating system or equivalent layer of system-provided functionality), but may leave some code unimplemented (either unavailable or stubbed out as appropriate), whether because the target makes it impossible to implement or challenging to implement. The authors of pull requests are not obligated to avoid calling any portions of the standard library on the basis of a tier 3 target not implementing those portions.
    
    This PR only adds the target. `std` support is being worked on and will be added in a future PR.
    
    > The target must provide documentation for the Rust community explaining how to build for the target, using cross-compilation if possible. If the target supports running binaries, or running tests (even if they do not pass), the documentation must explain how to run such binaries or tests for the target, using emulation if possible or dedicated hardware if necessary.
    
    👍
    
    > Tier 3 targets must not impose burden on the authors of pull requests, or other developers in the community, to maintain the target. In particular, do not post comments (automated or manual) on a PR that derail or suggest a block on the PR based on a tier 3 target. Do not send automated messages or notifications (via any medium, including via ```@)``` to a PR author or others involved with a PR regarding a tier 3 target, unless they have opted into such messages.
    
    👍
    
    > Patches adding or updating tier 3 targets must not break any existing tier 2 or tier 1 target, and must not knowingly break another tier 3 target without approval of either the compiler team or the maintainers of the other tier 3 target.
    
    👍
    
    > Tier 3 targets must be able to produce assembly using at least one of rustc's supported backends from any host target. (Having support in a fork of the backend is not sufficient, it must be upstream.)
    
    👍
    workingjubilee authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    b88f56f View commit details
    Browse the repository at this point in the history
  37. Rollup merge of rust-lang#130518 - scottmcm:stabilize-controlflow-ext…

    …ra, r=dtolnay
    
    Stabilize the `map`/`value` methods on `ControlFlow`
    
    And fix the stability attribute on the `pub use` in `core::ops`.
    
    libs-api in rust-lang#75744 (comment) seemed reasonably happy with naming for these, so let's try for an FCP.
    
    Summary:
    ```rust
    impl<B, C> ControlFlow<B, C> {
        pub fn break_value(self) -> Option<B>;
        pub fn map_break<T>(self, f: impl FnOnce(B) -> T) -> ControlFlow<T, C>;
        pub fn continue_value(self) -> Option<C>;
        pub fn map_continue<T>(self, f: impl FnOnce(C) -> T) -> ControlFlow<B, T>;
    }
    ```
    
    Resolves rust-lang#75744
    
    ``@rustbot`` label +needs-fcp +t-libs-api -t-libs
    
    ---
    
    Aside, in case it keeps someone else from going down the same dead end: I looked at the `{break,continue}_value` methods and tried to make them `const` as part of this, but that's disallowed because of not having `const Drop`, so put it back to not even unstably-const.
    workingjubilee authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    5a8fcab View commit details
    Browse the repository at this point in the history
  38. Rollup merge of rust-lang#131116 - mustartt:aix-stack-size, r=petroch…

    …enkov
    
    Increase Stack Size for AIX
    
    On AIX, there are limited support for tail call optimizations, so we need to set a larger stack size value.
    
    Fixes the following tests on AIX:
    ```
    [ui] tests/ui/associated-consts/issue-93775.rs
    [ui] tests/ui/closures/deeply-nested_closures.rs
    [ui] tests/ui/issues/issue-74564-if-expr-stack-overflow.rs
    [ui] tests/ui/parser/survive-peano-lesson-queue.rs
    ```
    workingjubilee authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    554daa0 View commit details
    Browse the repository at this point in the history
  39. Rollup merge of rust-lang#131171 - madsmtm:target-info-avr-env, r=pet…

    …rochenkov
    
    Fix `target_env` in `avr-unknown-gnu-atmega328`
    
    The target name itself contains GNU, we should probably reflect that as `target_env = "gnu"` as well? Or from my reading of rust-lang#74941 (comment), perhaps not, but then that should probably be documented somewhere?
    
    There's no listed target maintainer, but the target was introduced in rust-lang#74941, so I'll ping the author of that: `@dylanmckay`
    
    Relatedly, I wonder _why_ the recommendation is to [create separate target triples for each AVR](https://github.com/Rahix/avr-hal/tree/main/avr-specs), when `-Ctarget-cpu=...` would suffice, perhaps you could also elaborate on that? Was it just because `-Ctarget-cpu=...` didn't exist back then? If so, now that it does, should we now change the target back to e.g. `avr-unknown-none-gnu`, and require the user to set `-Ctarget-cpu=...` instead?
    workingjubilee authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    ff57e0b View commit details
    Browse the repository at this point in the history
  40. Rollup merge of rust-lang#131174 - madsmtm:target-info-sparc-abi, r=p…

    …nkfelix
    
    Fix `target_abi` in `sparc-unknown-none-elf`
    
    This was previously set to `target_abi = "elf"`, but `elf` is not used elsewhere as a target ABI (even though there's many targets that have it in their name), so I've removed it.
    
    CC target maintainer ``@jonathanpallant,`` what do you think about this?
    ``@rustbot`` label O-SPARC
    workingjubilee authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    1462815 View commit details
    Browse the repository at this point in the history
  41. Rollup merge of rust-lang#131177 - workingjubilee:stabilize-const-mut…

    …-referees, r=tgross35
    
     Stabilize 5 `const_mut_refs`-dependent API
    
    Since `const_mut_refs` and `const_refs_to_cell` have been stabilized, we now may create mutable references inside our library API. Thus we now stabilize the `const fn` version of these public library APIs which required such in their implementation:
    - const `NonNull::as_mut` rust-lang#91822 (comment)
    - const `slice::{first,last}_mut`: rust-lang#83570 (comment)
    - const `str::as_{mut_ptr,bytes_mut}`: rust-lang#130086 (comment)
    - const `str::from_utf8_unchecked_mut`: rust-lang#91005 (comment)
    - const `UnsafeCell::get_mut`: rust-lang#88836 (comment)
    workingjubilee authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    882d660 View commit details
    Browse the repository at this point in the history
  42. Rollup merge of rust-lang#131238 - michaelwoerister:triagebot, r=mich…

    …aelwoerister
    
    Remove mw from triagebot.toml
    
    cc rust-lang/team#1565
    workingjubilee authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    8ec5494 View commit details
    Browse the repository at this point in the history
  43. Rollup merge of rust-lang#131240 - taiki-e:typo, r=jieyouxu

    Fix typo in csky-unknown-linux-gnuabiv2.md
    workingjubilee authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    a17df37 View commit details
    Browse the repository at this point in the history
  44. Rollup merge of rust-lang#131257 - GuillaumeGomez:fix-list-margins, r…

    …=notriddle
    
    [rustdoc] Fix list margins
    
    Fixes rust-lang#131106.
    Fixes rust-lang#131223.
    
    Follow-up of  rust-lang#130933.
    
    This PR changes the display as follow: the margin between list items is reduced by half to ensure that they visually still seem part of the same list, while also being bigger than previously which improves display for list items with more than one paragragh. Paragraphs also get they bottom margin reduced to a little bit less than the list items bottom margin for two reasons:
    1. The list items keep having the biggest bottom margin which makes it better for coherency.
    2. The paragraphs are still visually separated but they don't "overcome" the list.
    
    | before | after |
    |-|-|
    | ![Screenshot from 2024-10-04 17-58-51](https://github.com/user-attachments/assets/3fdc1472-781e-435d-a0d7-012f43aa8fb8) | ![image](https://github.com/user-attachments/assets/0366313d-416f-4f04-b905-bb16c54f4528) |
    
    Can be tested [here](https://rustdoc.crud.net/imperio/fix-list-margins/doc/test_docs/long_list/index.html).
    
    r? ``@notriddle``
    workingjubilee authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    869b8eb View commit details
    Browse the repository at this point in the history
  45. Rollup merge of rust-lang#131264 - compiler-errors:fix-pub-crate, r=j…

    …ieyouxu
    
    Fix some `pub(crate)` that were undetected bc of `#[instrument]`
    
    Self-explanatory, minor clean up.
    workingjubilee authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    4778893 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    ae5f58d View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    fd7ee48 View commit details
    Browse the repository at this point in the history
  48. Auto merge of rust-lang#131269 - workingjubilee:rollup-bf7fzhf, r=wor…

    …kingjubilee
    
    Rollup of 10 pull requests
    
    Successful merges:
    
     - rust-lang#130453 (Add x86_64-unknown-trusty as tier 3 target)
     - rust-lang#130518 (Stabilize the `map`/`value` methods on `ControlFlow`)
     - rust-lang#131116 (Increase Stack Size for AIX)
     - rust-lang#131171 (Fix `target_env` in `avr-unknown-gnu-atmega328`)
     - rust-lang#131174 (Fix `target_abi` in `sparc-unknown-none-elf`)
     - rust-lang#131177 ( Stabilize 5 `const_mut_refs`-dependent API)
     - rust-lang#131238 (Remove mw from triagebot.toml)
     - rust-lang#131240 (Fix typo in csky-unknown-linux-gnuabiv2.md)
     - rust-lang#131257 ([rustdoc] Fix list margins)
     - rust-lang#131264 (Fix some `pub(crate)` that were undetected bc of `#[instrument]`)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    bece740 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    b955480 View commit details
    Browse the repository at this point in the history
  50. Account for impl Trait { when impl Trait for Type { was intended

    On editions where bare traits are never allowed, detect if the user has
    written `impl Trait` with no type, silence any dyn-compatibility errors,
    and provide a structured suggestion for the potentially missing type:
    
    ```
    error[E0782]: trait objects must include the `dyn` keyword
      --> $DIR/missing-for-type-in-impl.rs:8:6
       |
    LL | impl Foo<i64> {
       |      ^^^^^^^^
       |
    help: add `dyn` keyword before this trait
       |
    LL | impl dyn Foo<i64> {
       |      +++
    help: you might have intended to implement this trait for a given type
       |
    LL | impl Foo<i64> for /* Type */ {
       |               ++++++++++++++
    ```
    estebank committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    e057c43 View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    9914472 View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    4ec7839 View commit details
    Browse the repository at this point in the history
  53. rm ItemKind::OpaqueTy

    This introduce an additional collection of opaques on HIR, as they can no
    longer be listed using the free item list.
    camelid authored and cjgillot committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    d6f247f View commit details
    Browse the repository at this point in the history
  54. WfCheck opaques.

    cjgillot committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    68f7ed4 View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    e740c7b View commit details
    Browse the repository at this point in the history
  56. Bless ui tests.

    cjgillot committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    d9f15fa View commit details
    Browse the repository at this point in the history
  57. Remove stray fixmes.

    cjgillot committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    c7cb45a View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    6ec58a4 View commit details
    Browse the repository at this point in the history
  59. Promote crash tests to ui.

    cjgillot committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    6278e0f View commit details
    Browse the repository at this point in the history
  60. Bless incremental tests.

    cjgillot committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    98941f7 View commit details
    Browse the repository at this point in the history
  61. Adapt clippy.

    cjgillot committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    ef17eb7 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2024

  1. Configuration menu
    Copy the full SHA
    6b67c46 View commit details
    Browse the repository at this point in the history
  2. Bless clippy.

    cjgillot committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    479779d View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#131124 - weihanglo:update-cargo, r=weihanglo

    Update cargo
    
    17 commits in 80d82ca22abbee5fb7b51fa1abeb1ae34e99e88a..ad074abe3a18ce8444c06f962ceecfd056acfc73
    2024-09-27 17:56:01 +0000 to 2024-10-04 18:18:15 +0000
    - test: Remove the last of our custom json assertions (rust-lang/cargo#14576)
    - docs(ref): Expand on MSRV (rust-lang/cargo#14636)
    - docs: Minor re-grouping of pages (rust-lang/cargo#14620)
    - docs(ref): Highleft whats left for msrv-policy (rust-lang/cargo#14638)
    - Fix `cargo:version_number` - has only one `:` (rust-lang/cargo#14637)
    - docs: Declare support level for each crate in our Charter / docs (rust-lang/cargo#14600)
    - chore(deps): update tar to 0.4.42 (rust-lang/cargo#14632)
    - docs(charter): Declare new Intentional Artifacts as 'small' changes (rust-lang/cargo#14599)
    - fix: Remove implicit feature removal (rust-lang/cargo#14630)
    - docs(config): make `--config &lt;PATH&gt;` more prominent (rust-lang/cargo#14631)
    - chore(deps): update rust crate unicode-width to 0.2.0 (rust-lang/cargo#14624)
    - chore(deps): update embarkstudios/cargo-deny-action action to v2 (rust-lang/cargo#14628)
    - docs(ref): Clean up language for `package.rust-version` (rust-lang/cargo#14619)
    - docs: clarify `target.'cfg(...)'`  doesnt respect cfg from build script (rust-lang/cargo#14312)
    - test: relax compiler panic assertions (rust-lang/cargo#14618)
    - refactor(compiler): zero-copy deserialization when possible (rust-lang/cargo#14608)
    - test: add support for features in the sat resolver (rust-lang/cargo#14583)
    bors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    495f75a View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#129517 - cjgillot:known-panic-array, r=pnkf…

    …elix
    
    Compute array length from type for unconditional panic lint.
    
    Fixes rust-lang#98444
    
    The cases that involve slicing are harder, so rust-lang#38035 remains open.
    workingjubilee authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    f09e5a7 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#130367 - compiler-errors:super-unconstraine…

    …d, r=spastorino
    
    Check elaborated projections from dyn don't mention unconstrained late bound lifetimes
    
    Check that the projections that are *not* explicitly written but which we deduce from elaborating the principal of a `dyn` *also* do not reference unconstrained late-bound lifetimes, just like the ones that the user writes by hand.
    
    That is to say, given:
    
    ```
    trait Foo<T>: Bar<Assoc = T> {}
    
    trait Bar {
        type Assoc;
    }
    ```
    
    The type `dyn for<'a> Foo<&'a T>` (basically) elaborates to `dyn for<'a> Foo<&'a T> + for<'a> Bar<Assoc = &'a T>`[^1]. However, the `Bar` projection predicate is not well-formed, since `'a` must show up in the trait's arguments to be referenced in the term of a projection. We must error in this situation[^well], or else `dyn for<'a> Foo<&'a T>` is unsound.
    
    We already detect this for user-written projections during HIR->rustc_middle conversion, so this largely replicates that logic using the helper functions that were already conveniently defined.
    
    ---
    
    I'm cratering this first to see the fallout; if it's minimal or zero, then let's land it as-is. If not, the way that this is implemented is very conducive to an FCW.
    
    ---
    
    Fixes rust-lang#130347
    
    [^1]: We don't actually elaborate it like that in rustc; we only keep the principal trait ref `Foo<&'a T>` and the projection part of `Bar<Assoc = ...>`, but it's useful to be a bit verbose here for the purpose of explaining the issue.
    [^well]: Well, we could also make `dyn for<'a> Foo<&'a T>` *not* implement `for<'a> Bar<Assoc = &'a T>`, but this is inconsistent with the case where the user writes `Assoc = ...` in the type itself, and it overly complicates the implementation of trait objects' built-in impls.
    workingjubilee authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    9510c73 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#130403 - eduardosm:stabilize-const_slice_fr…

    …om_raw_parts_mut, r=workingjubilee
    
    Stabilize `const_slice_from_raw_parts_mut`
    
    Stabilizes rust-lang#67456, since rust-lang#57349 has been stabilized.
    
    Stabilized const API:
    ```rust
    // core::ptr
    pub const fn slice_from_raw_parts_mut<T>(data: *mut T, len: usize) -> *mut [T];
    
    // core::slice
    pub const unsafe fn from_raw_parts_mut<'a, T>(data: *mut T, len: usize) -> &'a mut [T];
    
    // core::ptr::NonNull
    pub const fn slice_from_raw_parts(data: NonNull<T>, len: usize) -> Self
    ```
    
    Closes rust-lang#67456.
    
    r? libs-api
    workingjubilee authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    49c6d78 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#130633 - eholk:pin-reborrow-self, r=compile…

    …r-errors
    
    Add support for reborrowing pinned method receivers
    
    This builds on rust-lang#130526 to add pinned reborrowing for method receivers. This enables the folllowing examples to work:
    
    ```rust
    #![feature(pin_ergonomics)]
    #![allow(incomplete_features)]
    
    use std::pin::Pin;
    
    pub struct Foo;
    
    impl Foo {
        fn foo(self: Pin<&mut Self>) {
        }
    
        fn baz(self: Pin<&Self>) {
        }
    }
    
    pub fn bar(x: Pin<&mut Foo>) {
        x.foo();
        x.foo();
    
        x.baz(); // Pin<&mut Foo> is downgraded to Pin<&Foo>
    }
    
    pub fn baaz(x: Pin<&Foo>) {
        x.baz();
        x.baz();
    }
    ```
    
    This PR includes the original one, which is currently in the commit queue, but the only code changes are in the latest commit (d3c53aa).
    
    rust-lang#130494
    
    r? `@compiler-errors`
    workingjubilee authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    68de7d1 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#131105 - slanterns:literal_c_str, r=petroch…

    …enkov
    
    update `Literal`'s intro
    
    Just something missd when adding c_str to it.
    workingjubilee authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    5bad4e9 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#131194 - practicalrs:fix_needless_lifetimes…

    …, r=celinval
    
    Fix needless_lifetimes in stable_mir
    
    Hi,
    
    This PR fixes the following clippy warning in stable_mir
    
    ```
    warning: the following explicit lifetimes could be elided: 'a
      --> compiler/stable_mir/src/mir/visit.rs:79:30
       |
    79 |     fn visit_projection_elem<'a>(
       |                              ^^
    80 |         &mut self,
    81 |         place_ref: PlaceRef<'a>,
       |                             ^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
       = note: `#[warn(clippy::needless_lifetimes)]` on by default
    help: elide the lifetimes
       |
    79 ~     fn visit_projection_elem(
    80 |         &mut self,
    81 ~         place_ref: PlaceRef<'_>,
       |
    ```
    
    Best regards,
    Michal
    workingjubilee authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    bc2f732 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#131260 - notriddle:notriddle/disambiguator-…

    …error, r=GuillaumeGomez
    
    rustdoc: cleaner errors on disambiguator/namespace mismatches
    
    Resolves rust-lang#131224 (review)
    
    r? `@jyn514`
    workingjubilee authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    f66aa60 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#131267 - okaneco:bufread_skip_until, r=tgro…

    …ss35
    
    Stabilize `BufRead::skip_until`
    
    FCP completed rust-lang#111735 (comment)
    
    Closes rust-lang#111735
    workingjubilee authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    3078b23 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#131273 - estebank:issue-131051, r=compiler-…

    …errors
    
    Account for `impl Trait {` when `impl Trait for Type {` was intended
    
    On editions where bare traits are never allowed, detect if the user has written `impl Trait` with no type, silence any dyn-compatibility errors, and provide a structured suggestion for the potentially missing type:
    
    ```
    error[E0782]: trait objects must include the `dyn` keyword
      --> $DIR/missing-for-type-in-impl.rs:8:6
       |
    LL | impl Foo<i64> {
       |      ^^^^^^^^
       |
    help: add `dyn` keyword before this trait
       |
    LL | impl dyn Foo<i64> {
       |      +++
    help: you might have intended to implement this trait for a given type
       |
    LL | impl Foo<i64> for /* Type */ {
       |               ++++++++++++++
    ```
    
    CC rust-lang#131051.
    workingjubilee authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    08689af View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    00ed47b View commit details
    Browse the repository at this point in the history
  14. Auto merge of rust-lang#131275 - workingjubilee:rollup-4yxqio3, r=wor…

    …kingjubilee
    
    Rollup of 9 pull requests
    
    Successful merges:
    
     - rust-lang#129517 (Compute array length from type for unconditional panic lint. )
     - rust-lang#130367 (Check elaborated projections from dyn don't mention unconstrained late bound lifetimes)
     - rust-lang#130403 (Stabilize `const_slice_from_raw_parts_mut`)
     - rust-lang#130633 (Add support for reborrowing pinned method receivers)
     - rust-lang#131105 (update `Literal`'s intro)
     - rust-lang#131194 (Fix needless_lifetimes in stable_mir)
     - rust-lang#131260 (rustdoc: cleaner errors on disambiguator/namespace mismatches)
     - rust-lang#131267 (Stabilize `BufRead::skip_until`)
     - rust-lang#131273 (Account for `impl Trait {` when `impl Trait for Type {` was intended)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    d30c392 View commit details
    Browse the repository at this point in the history
  15. remove outdated contribution direction

    Signed-off-by: onur-ozkan <[email protected]>
    onur-ozkan committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    05f7b09 View commit details
    Browse the repository at this point in the history
  16. Auto merge of rust-lang#129244 - cjgillot:opaque-hir, r=compiler-errors

    Make opaque types regular HIR nodes
    
    Having opaque types as HIR owner introduces all sorts of complications. This PR proposes to make them regular HIR nodes instead.
    
    I haven't gone through all the test changes yet, so there may be a few surprises.
    
    Many thanks to `@camelid` for the first draft.
    Fixes rust-lang#129023
    
    Fixes rust-lang#129099
    Fixes rust-lang#125843
    Fixes rust-lang#119716
    Fixes rust-lang#121422
    bors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    5a4ee43 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    2feed62 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    d0e6758 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    0cd0f7c View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    1553805 View commit details
    Browse the repository at this point in the history
  21. Auto merge of rust-lang#3943 - RalfJung:pthread-mutex-reentrant, r=Ra…

    …lfJung
    
    pthread mutex: better error in reentrant-locking-UB
    
    Also test reentrant locking of PTHREAD_MUTEX_INITIALIZER
    bors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    eb97047 View commit details
    Browse the repository at this point in the history
  22. make Cell unstably const

    RalfJung committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    98aa3d9 View commit details
    Browse the repository at this point in the history
  23. Add targets: riscv32{e|em|emc}

    - Based on riscv32{i|im|imc}
    - Set data_layout stack alignment: S32 (bits)
    - Set llvm_abiname = ilp32e
    hegza committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    b22b348 View commit details
    Browse the repository at this point in the history
  24. Add comment: data_layout

    hegza committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    7a0bac4 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    04099b6 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    f303782 View commit details
    Browse the repository at this point in the history
  27. Work around the stage0 sanity check

    Add rv32e-targets to 'stage0 missing targets'. This prevents the error
    "no such target exists in the target list".
    hegza committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    66b3d0b View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    fe658e1 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    346afc7 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    6edd0b3 View commit details
    Browse the repository at this point in the history
  31. Auto merge of rust-lang#3940 - rust-lang:refutable_slice, r=RalfJung

    Prefer refutable slice patterns over len check + index op
    
    Just something I noticed while reviewing other PRs
    
    We do it for shim arguments almost everywhere, but when the size is not statically known, we didn't use the helpers as they rely on array ops. But we can avoid a len check followed by several index ops by just using a refutable slice pattern with `let else`.
    
    The pattern is so common, it seems almost worth a dedicated macro
    bors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    3b418b1 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    f0ddc7b View commit details
    Browse the repository at this point in the history
  33. Rollup merge of rust-lang#130428 - ink-feather-org:stabilize-const-sp…

    …lit-at-mut, r=RalfJung
    
    Stabilize `const_slice_split_at_mut` and `const_slice_first_last_chunk`
    
    Stabilizes rust-lang#101804 and the remainder of rust-lang#111774.
    
    FCP proposed in the tracking issue.
    
    Requires rust-lang#130403 (or it would need a rustc_allow_const_fn_unstable for it)
    
    Stabilized const API:
    ```rust
    // slice
    impl [T] {
        pub const fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T]);
        pub const fn split_at_mut_unchecked(&mut self, mid: usize) -> (&mut [T], &mut [T]);
        pub const fn split_at_mut_checked(&mut self, mid: usize) -> Option<(&mut [T], &mut [T])>;
    
        pub const fn first_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>;
        pub const fn last_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>;
        pub const fn split_first_chunk_mut<const N: usize>(&mut self) -> Option<(&mut [T; N], &mut [T])>;
        pub const fn split_last_chunk_mut<const N: usize>(&mut self) -> Option<(&mut [T; N], &mut [T])>;
    }
    ```
    
    Closes rust-lang#101804
    Closes rust-lang#111774
    
    cc `@RalfJung`
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    386a0ba View commit details
    Browse the repository at this point in the history
  34. Rollup merge of rust-lang#131094 - joboet:lazy_once_box, r=ibraheemdev

    std: replace `LazyBox` with `OnceBox`
    
    This PR replaces the `LazyBox` wrapper used to allocate the pthread primitives with `OnceBox`, which has a more familiar API mirroring that of `OnceLock`. This cleans up the code in preparation for larger changes like rust-lang#128184 (from which this PR was split) and allows some neat optimizations, like avoid an acquire-load of the allocation pointer in `Mutex::unlock`, where the initialization of the allocation must have already been observed.
    
    Additionally, I've gotten rid of the TEEOS `Condvar` code, it's just a duplicate of the pthread one anyway and I didn't want to repeat myself.
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    92beb42 View commit details
    Browse the repository at this point in the history
  35. Rollup merge of rust-lang#131256 - RalfJung:f16-f128-const, r=ibrahee…

    …mdev
    
    move f16/f128 const fn under f16/f128 feature gate
    
    The `*_const` features were added to work around rust-lang#129656, which should not be needed any more.
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    cb5bb13 View commit details
    Browse the repository at this point in the history
  36. Rollup merge of rust-lang#131278 - onur-ozkan:update-outdated-doc, r=…

    …Kobzol
    
    remove outdated contribution direction
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    1bd61bb View commit details
    Browse the repository at this point in the history
  37. Rollup merge of rust-lang#131286 - RalfJung:miri-sync, r=RalfJung

    Miri subtree update
    
    r? `@ghost`
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    72acacf View commit details
    Browse the repository at this point in the history
  38. Auto merge of rust-lang#131288 - matthiaskrgr:rollup-h0t0v2h, r=matth…

    …iaskrgr
    
    Rollup of 5 pull requests
    
    Successful merges:
    
     - rust-lang#130428 (Stabilize `const_slice_split_at_mut` and `const_slice_first_last_chunk`)
     - rust-lang#131094 (std: replace `LazyBox` with `OnceBox`)
     - rust-lang#131256 (move f16/f128 const fn under f16/f128 feature gate)
     - rust-lang#131278 (remove outdated contribution direction)
     - rust-lang#131286 (Miri subtree update)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    f559d61 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    ab86735 View commit details
    Browse the repository at this point in the history
  40. Update to LLVM 19.1.1

    DianQK committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    70260db View commit details
    Browse the repository at this point in the history
  41. Auto merge of rust-lang#131188 - Kobzol:remove-libstd-so-from-sysroot…

    …, r=onur-ozkan
    
    Do not copy libstd dynamic library to sysroot
    
    Since rust-lang#122362, rustc links statically to libstd.[so|dll]. Which means that the libstd.[so|dll] file no longer has to be in the rustc sysroot. However, we are currently still shipping this file, in every new release of Rust, for no reason, it's just wasted bytes.
    
    This PR removes the dynamic library file from the built sysroot.
    
    However, it is not yet performed on Windows, because stage0 incremental tests start failing there (see description of the issue [here](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Failing.20incr.20tests.20on.20Windows.20when.20std.2Edll.20is.20missing/near/474507064)).
    
    This is an extended version of rust-lang#128986.
    CC `@Zoxc`
    bors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    e561499 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    8faf372 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    7d63efd View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    2b21f90 View commit details
    Browse the repository at this point in the history
  45. Rollup merge of rust-lang#130555 - hegza:rv32e, r=workingjubilee

     Initial support for riscv32{e|em|emc}_unknown_none_elf
    
    We have a research prototype of an RV32EMC target and have been successfully running the e, em, emc programs on it. I'm hoping upstreaming this configuration would make the target maintenance slightly easier.
    
    Configuration is based on the respective {i, im, imc} variants. As defined in RISC-V Unprivileged Spec. 20191213, the only change in RVE wrt. RVI is to reduce the number of integer registers to 16 (x0-x15), which also implies
    
    - 2 callee saved registers instead of 12
    - 32-bit / 4-byte stack alignment instead of 128 bits / 16 bytes
    
    My initial presumption is that this will not impact how the target is defined for the compiler but only becomes relevant at the runtime level. I am willing to investigate, though.
    
    EDIT: LLVM is now told about the presumed 32-bit stack alignment.
    
    `@Disasm` `@romancardenas`
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    8e31e98 View commit details
    Browse the repository at this point in the history
  46. Rollup merge of rust-lang#131280 - ismailarilik:handle-potential-quer…

    …y-instability-lint-for-rustc-interface, r=cjgillot
    
    Handle `rustc_interface` cases of `rustc::potential_query_instability` lint
    
    This PR removes `#![allow(rustc::potential_query_instability)]` occurrences from [`compiler/rustc_interface/`](https://github.com/rust-lang/rust/blob/master/compiler/rustc_interface/) <s>and converts `FxHash{Map,Set}` types into `FxIndex{Map,Set}` to suppress lint errors</s> (was not necessary for this PR).
    
    A somewhat tracking issue: rust-lang#84447
    
    r? `@compiler-errors`
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    2e80beb View commit details
    Browse the repository at this point in the history
  47. Rollup merge of rust-lang#131281 - RalfJung:const-cell, r=Amanieu

    make Cell unstably const
    
    Now that we can do interior mutability in `const`, most of the Cell API can be `const fn`. :)  The main exception is `set`, because it drops the old value. So from const context one has to use `replace`, which delegates the responsibility for dropping to the caller.
    
    Tracking issue: rust-lang#131283
    
    `as_array_of_cells` is itself still unstable to I added the const-ness to the feature gate for that function and not to `const_cell`, Cc rust-lang#88248.
    
    r? libs-api
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    388c10b View commit details
    Browse the repository at this point in the history
  48. Rollup merge of rust-lang#131285 - RalfJung:mir-projection-sem, r=cjg…

    …illot
    
    clarify semantics of ConstantIndex MIR projection
    
    This documents what Miri does:
    https://github.com/rust-lang/rust/blob/c4ce8c114b06840c3521a189ee44958b713fb33a/compiler/rustc_const_eval/src/interpret/projection.rs#L272-L275
    
    I am not sure what exactly the purpose of this `min_length` field is, TBH... but this seems like the most obvious meaning it could have?
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    c45f902 View commit details
    Browse the repository at this point in the history
  49. Rollup merge of rust-lang#131299 - RalfJung:lang-item-track-caller, r…

    …=compiler-errors
    
    fix typo in 'lang item with track_caller' message
    
    Revival of rust-lang#124912
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    6a85c32 View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    2223328 View commit details
    Browse the repository at this point in the history
  51. Auto merge of rust-lang#131302 - matthiaskrgr:rollup-56kbpzx, r=matth…

    …iaskrgr
    
    Rollup of 5 pull requests
    
    Successful merges:
    
     - rust-lang#130555 ( Initial support for riscv32{e|em|emc}_unknown_none_elf)
     - rust-lang#131280 (Handle `rustc_interface` cases of `rustc::potential_query_instability` lint)
     - rust-lang#131281 (make Cell unstably const)
     - rust-lang#131285 (clarify semantics of ConstantIndex MIR projection)
     - rust-lang#131299 (fix typo in 'lang item with track_caller' message)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    9096f4f View commit details
    Browse the repository at this point in the history
  52. update "build/host" symlink comment

    Signed-off-by: onur-ozkan <[email protected]>
    onur-ozkan committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    4f50efd View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    9d2495d View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    6371ef6 View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    5193c21 View commit details
    Browse the repository at this point in the history
  56. Fix up tests

    compiler-errors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    73d49f8 View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    515b932 View commit details
    Browse the repository at this point in the history
  58. Auto merge of rust-lang#131293 - DianQK:llvm-19.1.1, r=nikic

    Update to LLVM 19.1.1
    
    No known issues are fixed this time.
    
    r? `@rust-lang/wg-llvm`
    bors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    85e2f55 View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    d2bd018 View commit details
    Browse the repository at this point in the history
  60. Configuration menu
    Copy the full SHA
    e8d5eb2 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2024

  1. On function and method calls in patterns, link to the book

    ```
    error: expected a pattern, found an expression
     --> f889.rs:3:13
      |
    3 |     let (x, y.drop()) = (1, 2); //~ ERROR
      |             ^^^^^^^^ not a pattern
      |
      = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch18-00-patterns.html>
    
    error[E0532]: expected a pattern, found a function call
     --> f889.rs:2:13
      |
    2 |     let (x, drop(y)) = (1, 2); //~ ERROR
      |             ^^^^ not a tuple struct or tuple variant
      |
      = note: function calls are not allowed in patterns: <https://doc.rust-lang.org/book/ch18-00-patterns.html>
    ```
    
    Fix rust-lang#97200.
    estebank committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    7f5548f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7c0c511 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#130540 - veera-sivarajan:fix-87525, r=estebank

    Add a Lint for Pointer to Integer Transmutes in Consts
    
    Fixes rust-lang#87525
    
    This PR adds a MirLint for pointer to integer transmutes in const functions and associated consts. The implementation closely follows this comment: rust-lang#85769 (comment). More details about the implementation can be found in the comments.
    
    Note: This could break some sound code as mentioned by RalfJung in rust-lang#85769 (comment):
    
    > ... technically const-code could transmute/cast an int to a ptr and then transmute it back and that would be correct -- so the lint will deny some sound code. Does not seem terribly likely though.
    
    References:
    1. https://doc.rust-lang.org/std/mem/fn.transmute.html
    2. https://doc.rust-lang.org/reference/items/associated-items.html#associated-constants
    bors committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    daebce4 View commit details
    Browse the repository at this point in the history
  4. bootstrap: add std_features config

    bootstrap: add std_features  to config.example
    
    fix: use BTreeSet for std-features; add unit tests
    
    * fix formatting of string in front of std_features
    * rename `std_features` to `std-features` in config.toml
    
    fix: remove space before std-features in config.toml
    
    fix: remove explicit .into_iter conversion
    
    bootstrap: add details for rust.std-features in config.example.toml
    
    Co-authored-by: Onur Özkan <[email protected]>
    
    fix: remove `Option<T>` from `rust_std_features`
    
    fix: move default rust_std_features to config
    
    fix: make std_features CI rustc incompatible
    shrirambalaji committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    8b96876 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    002afd1 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7d53688 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e0a20b4 View commit details
    Browse the repository at this point in the history
  8. Auto merge of rust-lang#131075 - mrkajetanp:bootstrap-editors, r=Kobzol

    bootstrap: Consolidate editor setup into ./x setup editor & add support for vim, emacs & helix
    
    Add support for automatically setting up the recommended
    LSP config for Vim (coc-nvim), Emacs (eglot) and Helix.
    
    Additionally, refactor setup.rs to make it easier to add support
    for more editors in the future.
    
    As suggested,
    r? `@jieyouxu`
    bors committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    68301a6 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#129392 - compiler-errors:raw-ref-op-doesnt-…

    …diverge-but-more, r=lcnr
    
    Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too
    
    Fixes rust-lang#117288.
    
    This PR implements a heuristic which disables two things that are currently being performed on the HIR when we have **expressions that involve place-like expressions that point to `!`**. Specifically, it will (in certain cases explained below):
    
    ### (1.) Disable the `NeverToAny` coercion we implicitly insert for `!`.
    
    Which fixes this inadvertent, sneaky unsoundness:
    
    ```
    unsafe {
        let x: *const ! = &0 as *const u8 as *const !;
        let _: () = *x;
    }
    ```
    
    which is UB because currently rust emits an *implicit* NeverToAny coercion even though we really shouldn't be, since there's no read of the value pointed by `x`.
    
    ### (2.) Disable the logic which considers expression which evaluate to `!` to diverge, which affects the type returned by the containing block.
    
    Which fixes this unsoundness:
    
    ```
    fn make_up_a_value<T>() -> T {
        unsafe {
            let x: *const ! = &0 as *const u8 as *const !;
            let _ = *x;
        }
    }
    ```
    
    We disable these two operations **if** the expression is a place-like expression (locals, statics, field projections, index operations, and deref operations), and if the parent expression is either:
    (1.) the LHS of an assignment
    (2.) AddrOf
    (3.) A match or let **unless** all of the *patterns consitute a read*, which is explained below:
    
    And finally, a pattern currently is considered to constitute a read **unless** it is a wildcard, or an OR pattern. An OR pattern is considered to constitute a read if all of its subpatterns constitute a read, to remain as conservative as possible in cases like `_ | subpat` or `subpat | _`.
    
    All other patterns are considered currently to constitute a read. Specifically, because `NeverToAny` is a coercion performed on a *value* and not a *place*, `Struct { .. }` on a `!` type must be a coercion currently, and we currently rely on this behavior to allow us to perform coercions like `let _: i32 = x;` where `x: !`.
    
    This is already considered UB by [miri](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=daf3a2246433fe43fdc07d1389c276c9), but also means it does not affect the preexisting UB in this case:
    
    ```
    let Struct { .. } = *never_ptr;
    ```
    
    Even though it's likely up for debate since we're not actually reading any data out of the struct, it almost certainly causes inference changes which I do *NOT* want to fix in this PR.
    matthiaskrgr authored Oct 6, 2024
    Configuration menu
    Copy the full SHA
    9aaebd4 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#131279 - onur-ozkan:remove-host-symlink, r=…

    …Noratrieb
    
    update "build/host" symlink comment
    
    It's needed and can't be removed, so make it clear where it's needed.
    matthiaskrgr authored Oct 6, 2024
    Configuration menu
    Copy the full SHA
    aa546f9 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#131312 - estebank:fn-in-pattern, r=compiler…

    …-errors
    
    On function and method calls in patterns, link to the book
    
    ```
    error: expected a pattern, found an expression
     --> f889.rs:3:13
      |
    3 |     let (x, y.drop()) = (1, 2);
      |             ^^^^^^^^ not a pattern
      |
      = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch18-00-patterns.html>
    
    error[E0532]: expected a pattern, found a function call
     --> f889.rs:2:13
      |
    2 |     let (x, drop(y)) = (1, 2);
      |             ^^^^ not a tuple struct or tuple variant
      |
      = note: function calls are not allowed in patterns: <https://doc.rust-lang.org/book/ch18-00-patterns.html>
    ```
    
    Fix rust-lang#97200.
    matthiaskrgr authored Oct 6, 2024
    Configuration menu
    Copy the full SHA
    11c41ff View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#131315 - shrirambalaji:issue-129599-fix-shr…

    …irambalaji, r=onur-ozkan
    
    bootstrap: add `std_features` config
    
    Adding support for a std-features config under the rust section in config.toml during bootstrap. This allows rustc devs to build with specific feature flags for local development.
    matthiaskrgr authored Oct 6, 2024
    Configuration menu
    Copy the full SHA
    3c4bc7d View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#131316 - programmerjake:patch-4, r=Noratrieb

    Fix typo in primitive_docs.rs
    
    typo introduced in rust-lang#129559
    matthiaskrgr authored Oct 6, 2024
    Configuration menu
    Copy the full SHA
    dd09e9c View commit details
    Browse the repository at this point in the history
  14. Update out-dated link

    mu001999 committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    aa75b5f View commit details
    Browse the repository at this point in the history
  15. Auto merge of rust-lang#131320 - matthiaskrgr:rollup-tom15b3, r=matth…

    …iaskrgr
    
    Rollup of 5 pull requests
    
    Successful merges:
    
     - rust-lang#129392 (Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too)
     - rust-lang#131279 (update "build/host" symlink comment)
     - rust-lang#131312 (On function and method calls in patterns, link to the book)
     - rust-lang#131315 (bootstrap: add `std_features` config)
     - rust-lang#131316 (Fix typo in primitive_docs.rs)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    96d9d8a View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3f90bb1 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    c6e4fcd View commit details
    Browse the repository at this point in the history
  18. coverage: Store bcb_needs_counter in a field as a bitset

    This makes it possible for other parts of counter-assignment to check whether a
    node is guaranteed to end up with some kind of counter.
    
    Switching from `impl Fn` to a concrete `&BitSet` just avoids the hassle of
    trying to store a closure in a struct field, and currently there's no
    foreseeable need for this information to not be a bitset.
    Zalathar committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    ab154e6 View commit details
    Browse the repository at this point in the history
  19. add clarity for custom path installation

    install.sysconfdir is another value, in addition to install.prefix,
    that could be set for custom path installation.
    
    Signed-off-by: Naveen R. Iyer <[email protected]>
    iyernaveenr committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    0df736c View commit details
    Browse the repository at this point in the history
  20. Auto merge of rust-lang#131259 - ismailarilik:handle-potential-query-…

    …instability-lint-for-librustdoc, r=notriddle
    
    Handle `librustdoc` cases of `rustc::potential_query_instability` lint
    
    This PR removes `#![allow(rustc::potential_query_instability)]` line from [`src/librustdoc/lib.rs`](https://github.com/rust-lang/rust/blob/master/src/librustdoc/lib.rs#L23) and converts `FxHash{Map,Set}` types into `FxIndex{Map,Set}` to suppress lint errors.
    
    A somewhat tracking issue: rust-lang#84447
    
    r? `@compiler-errors`
    bors committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    373971a View commit details
    Browse the repository at this point in the history
  21. implement naked_asm macro

    folkertdev committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    aa5bbf0 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    0aec555 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    47b42be View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    1a9c1cb View commit details
    Browse the repository at this point in the history
  25. disallow asm! in #[naked] functions

    also disallow the `noreturn` option, and infer `naked_asm!` as `!`
    folkertdev committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    562ec5a View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    bc0a954 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    10fa482 View commit details
    Browse the repository at this point in the history
  28. Auto merge of rust-lang#129670 - est31:cfg_attr_crate_type_name_error…

    …, r=Urgau
    
    Make deprecated_cfg_attr_crate_type_name a hard error
    
    Turns the forward compatibility lint added by rust-lang#83744 into a hard error, so now, while the `#![crate_name]` and `#![crate_type]` attributes are still allowed in raw form, they are now forbidden to be nested inside a `#![cfg_attr()]` attribute.
    
    The following will now be an error:
    
    ```Rust
    #![cfg_attr(foo, crate_name = "foobar")]
    #![cfg_attr(foo, crate_type = "bin")]
    ```
    
    This code will continue working and is not deprecated:
    
    ```Rust
    #![crate_name = "foobar"]
    #![crate_type = "lib"]
    ```
    
    The reasoning for this is explained in rust-lang#83744: it allows us to not have to cfg-expand in order to determine the crate's type and name.
    
    As of filing the PR, exactly two years have passed since rust-lang#99784 has been merged, which has turned the lint's default warning level into an error, so there has been ample time to move off the now-forbidden syntax.
    
    cc rust-lang#91632 - tracking issue for the lint
    bors committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    8422e27 View commit details
    Browse the repository at this point in the history
  29. various fixes for naked_asm! implementation

    - fix for divergence
    - fix error message
    - fix another cranelift test
    - fix some cranelift things
    - don't set the NORETURN option for naked asm
    - fix use of naked_asm! in doc comment
    - fix use of naked_asm! in run-make test
    - use `span_bug` in unreachable branch
    folkertdev committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    5fc60d1 View commit details
    Browse the repository at this point in the history
  30. grammar fix

    dacianpascu06 committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    3b2be44 View commit details
    Browse the repository at this point in the history
  31. Rollup merge of rust-lang#131001 - iyernaveenr:naveen_iyer/installati…

    …on_clarity, r=onur-ozkan
    
    add clarity for custom path installation
    
    install.sysconfdir is another value, in addition to install.prefix, that could be set for custom path installation.
    matthiaskrgr authored Oct 6, 2024
    Configuration menu
    Copy the full SHA
    1e2b77d View commit details
    Browse the repository at this point in the history
  32. Rollup merge of rust-lang#131307 - YohDeadfall:prctl-set-name-dbg-ass…

    …ert, r=workingjubilee
    
    Android: Debug assertion after setting thread name
    
    While `prctl` cannot fail if it points to a valid buffer, it's still better to assert the result as it's done for other places.
    matthiaskrgr authored Oct 6, 2024
    Configuration menu
    Copy the full SHA
    9e8c030 View commit details
    Browse the repository at this point in the history
  33. Rollup merge of rust-lang#131322 - mu001999-contrib:cleanup/invalid-u…

    …rl, r=jieyouxu
    
    Update out-dated link
    matthiaskrgr authored Oct 6, 2024
    Configuration menu
    Copy the full SHA
    ab81e04 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    93b9465 View commit details
    Browse the repository at this point in the history
  35. Auto merge of rust-lang#131337 - matthiaskrgr:rollup-j37xn8o, r=matth…

    …iaskrgr
    
    Rollup of 4 pull requests
    
    Successful merges:
    
     - rust-lang#131001 (add clarity for custom path installation)
     - rust-lang#131307 (Android: Debug assertion after setting thread name)
     - rust-lang#131322 (Update out-dated link)
     - rust-lang#131335 (grammar fix)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    55a22d2 View commit details
    Browse the repository at this point in the history
  36. Auto merge of rust-lang#128651 - folkertdev:naked-asm-macro-v2, r=Ama…

    …nieu
    
    add `naked_asm!` macro for use in `#[naked]` functions
    
    tracking issue: rust-lang#90957
    
    Adds the `core::arch::naked_asm` macro, to be used in `#[naked]` functions, but providing better error messages and a place to explain the restrictions on assembly in naked functions.
    
    This PR does not yet require that the `naked_asm!` macro is used inside of `#[naked]` functions:
    
    - the `asm!` macro can still be used in `#[naked]` functions currently, with the same restrictions and error messages as before.
    - the `naked_asm!` macro can be used outside of `#[naked]` functions. It has not yet been decided whether that should be allowed long-term.
    
    In this PR, the parsing code of `naked_asm!` now enforces the restrictions on assembly in naked functions, with the exception of checking that the `noreturn` option is specified. It also has not currently been decided if `noreturn` should be implicit or not.
    
    This PR looks large because it touches a bunch of tests. The code changes are mostly straightforward I think: we now have 3 flavors of assembly macro, and that information must be propagated through the parsing code and error messages.
    
    cc `@Lokathor`
    
    r? `@Amanieu`
    bors committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    1b3b8e7 View commit details
    Browse the repository at this point in the history
  37. Remove unused features.

    nnethercote committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    cfeee7b View commit details
    Browse the repository at this point in the history
  38. Rename errors/mod.rs as errors.rs.

    It's simpler, for this tiny module.
    nnethercote committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    7a9bbd0 View commit details
    Browse the repository at this point in the history
  39. Reduce visibilities.

    Three of the modules don't need to be `pub`, and then
    `warn(unreachable_pub)` identifies a bunch more things that also
    shouldn't be `pub`, plus a couple of things that are unused.
    nnethercote committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    5486d72 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    5c015ee View commit details
    Browse the repository at this point in the history
  41. Reduce visibilities some more.

    It helps people reading the code understand how widely things are used.
    nnethercote committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    2d2755f View commit details
    Browse the repository at this point in the history
  42. Remove InferCtxt::err_count_on_creation.

    It's no longer used meaningfully.
    
    This also means `DiagCtxtHandle::err_count_excluding_lint_errs` can be
    removed.
    nnethercote committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    25d1ef1 View commit details
    Browse the repository at this point in the history
  43. Fix FIXME comment on FixupError.

    `FixupError` is isomorphic with `TyOrConstInferVar`, so this commit
    changes it to just be a wrapper around `TyOrConstInferVar`.
    
    Also, move the `Display` impl for `FixupError` next to `FixupError`.
    nnethercote committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    0ca4784 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    deeb0c5 View commit details
    Browse the repository at this point in the history
  45. Streamline next_*_var* methods.

    Inline and remove `next_const_var_id`, `next_int_var_id`,
    `next_float_var_id`, all of which have a single call site.
    nnethercote committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    3386530 View commit details
    Browse the repository at this point in the history
  46. Simplify two matches.

    Matches involving `GenericArgKind` pairs typically use a single `_` for
    the impossible case. This commit shortens two verbose matches in this
    way.
    nnethercote committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    e800967 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    afbff05 View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    3fdcde7 View commit details
    Browse the repository at this point in the history
  49. liballoc: introduce String, Vec const-slicing

    This change `const`-qualifies many methods on Vec and String, notably
    `as_slice`, `as_str`, `len`. These changes are made behind the unstable
    feature flag `const_vec_string_slice` with the following tracking issue:
    
    rust-lang#129041
    mammothbane committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    d793766 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. Auto merge of rust-lang#131068 - RalfJung:immediate-offset-sanity-che…

    …ck, r=nnethercote
    
    Don't use Immediate::offset to transmute pointers to integers
    
    This applies the relatively new `assert_matches_abi` check in the `offset` operation on immediates, which makes sure that if offsets are used to alter the layout (which is possible because the field layout is arbitrarily picked by the caller), this is not done in a way that breaks the invariant of the `Immediate` type.
    
    This leads to ICEs in a GVN mir-opt test, so the second commit fixes GVN.
    
    Fixes rust-lang#131064.
    bors committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    a964a92 View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#131226 - nnethercote:rustc_infer-cleanups, r=…

    …lcnr
    
    `rustc_infer` cleanups
    
    Various small improvements I found while reading over this code.
    
    r? `@lcnr`
    bors committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    8841a3d View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#128399 - mammothbane:master, r=Amanieu,tgro…

    …ss35
    
    liballoc: introduce String, Vec const-slicing
    
    This change `const`-qualifies many methods on `Vec` and `String`, notably `as_slice`, `as_str`, `len`. These changes are made behind the unstable feature flag `const_vec_string_slice`.
    
    ## Motivation
    This is to support simultaneous variance over ownership and constness. I have an enum type that may contain either `String` or `&str`, and I want to produce a `&str` from it in a possibly-`const` context.
    
    ```rust
    enum StrOrString<'s> {
        Str(&'s str),
        String(String),
    }
    
    impl<'s> StrOrString<'s> {
        const fn as_str(&self) -> &str {
            match self {
                 // In a const-context, I really only expect to see this variant, but I can't switch the implementation
                 // in some mode like #[cfg(const)] -- there has to be a single body
                 Self::Str(s) => s,
    
                 // so this is a problem, since it's not `const`
                 Self::String(s) => s.as_str(),
            }
        }
    }
    ```
    
    Currently `String` and `Vec` don't support this, but can without functional changes. Similar logic applies for `len`, `capacity`, `is_empty`.
    
    ## Changes
    
    The essential thing enabling this change is that `Unique::as_ptr` is `const`. This lets us convert `RawVec::ptr` -> `Vec::as_ptr` -> `Vec::as_slice` -> `String::as_str`.
    
    I had to move the `Deref` implementations into `as_{str,slice}` because `Deref` isn't `#[const_trait]`, but I would expect this change to be invisible up to inlining. I moved the `DerefMut` implementations as well for uniformity.
    Zalathar authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    dd4f062 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#131308 - mati865:gnullvm-f16-f128, r=tgross35

    enable f16 and f128 on windows-gnullvm targets
    
    Continuation of rust-lang#130959
    Zalathar authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    5c1c49a View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#131325 - Zalathar:tweak-counters, r=jieyouxu

    coverage: Multiple small tweaks to counter creation
    
    I've been experimenting with some larger changes to how coverage counters are assigned to parts of the control-flow graph, and while none of that is ready yet, along the way I've repeatedly found myself wanting these smaller tweaks as a base.
    
    There are no changes to compiler output.
    Zalathar authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    99e1244 View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#131345 - Zalathar:rollup-scdxuou, r=Zalathar

    Rollup of 3 pull requests
    
    Successful merges:
    
     - rust-lang#128399 (liballoc: introduce String, Vec const-slicing)
     - rust-lang#131308 (enable f16 and f128 on windows-gnullvm targets)
     - rust-lang#131325 (coverage: Multiple small tweaks to counter creation)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    690332a View commit details
    Browse the repository at this point in the history
  7. Add support to generate documentation for tests

    The new option --document-tests is unstable and documented as such.
    In order to use it is needed to add `--cfg test` and in case the tests
    are not marked public to add `--document-private-items`.
    The implementation hide the auto generate main test function and
    constants.
    ifxfrancois committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    032f862 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d79df48 View commit details
    Browse the repository at this point in the history