-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
De-duplicate and improve definition of core::ffi::c_char #132975
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @cuviper (or someone else) some time within the next two weeks. Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (
|
Failed to set assignee to
|
I think r? @joshtriplett should work. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some OSes are no longer conditioned on, for example, os=nto
arch=aarch64
or os=l4re
, arch=x86_64
are missing.
I didn't manually verify everything, but at least l4re
and x86_64
just got flipped from u8
, which it appears to have been manually set to, to i8
.
Can we get a summary of what changed in terms of supported target triples? I would expect disagreements with clang
to be rare, but this patch looks like it accidentally changes obscure targets at a minimum. It might also be clearer what changed if we didn't have the 4-branch if statement for 2 results.
05aff14
to
05f561b
Compare
I'm pretty sure this still changes |
As Apple and Windows targets always use signed char, you could simplify the cfg statement further to |
I'm trying to figure out if that value is intentional or not. It dates back to 2cf0a4a, |
Looks like l4re should be setting this for all architectures, I spotted |
c19462d
to
4d8abde
Compare
r? libs-api |
4d8abde
to
5e82b5e
Compare
I have validated the new c_char definitions against my build of clang that has fixes for MSP430, Xtensa (although printing the builtin defines fails with Unlike #131319 this PR does not have links to all the ABI docs, but it does have a correct definition for l4re (which clang does not support and treats as unknown OS). |
As for L4Re:
({x86_64,aarch64}-l4re-gcc are from https://l4re.org/download/snapshots/toolchain/.) As for Xtensa: However, it appears that Xtensa has multiple ABIs. (Section 1.4 "Calling convention" of Overview of Xtensa ISA https://dl.espressif.com/github_assets/espressif/xtensa-isa-doc/releases/download/latest/Xtensa.pdf) |
5e82b5e
to
4e3c262
Compare
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
Rebased and fixed the l4re issue.
Thanks for checking this, I've updated the change to remove l4re from the list. I've done this as a separate commit in case this needs to be reverted in the future.
Regarding Xtensa, my Clang change to make it unsigned by default was approved by Xtensa developers and has been merged now: llvm/llvm-project#115967. |
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
Pkgsrc changes relative to rust184: * patch reorganization to deal with new version of upstream vendored crates, checksum updates. Version 1.85.0 (2025-02-20) ========================== Language -------- - [The 2024 Edition is now stable.] (rust-lang/rust#133349) See [the edition guide] (https://doc.rust-lang.org/nightly/edition-guide/rust-2024/index.html) for more details. - [Stabilize async closures] (rust-lang/rust#132706) See [RFC 3668] (https://rust-lang.github.io/rfcs/3668-async-closures.html) for more details. - [Stabilize `#[diagnostic::do_not_recommend]`] (rust-lang/rust#132056) - [Add `unpredictable_function_pointer_comparisons` lint to warn against function pointer comparisons] (rust-lang/rust#118833) - [Lint on combining `#[no_mangle]` and `#[export_name]` attributes.] (rust-lang/rust#131558) Compiler -------- - [The unstable flag `-Zpolymorphize` has been removed] (rust-lang/rust#133883), see rust-lang/compiler-team#810 for some background. Platform Support ---------------- - [Promote `powerpc64le-unknown-linux-musl` to tier 2 with host tools] (rust-lang/rust#133801) Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. Libraries --------- - [Panics in the standard library now have a leading `library/` in their path] (rust-lang/rust#132390) - [`std::env::home_dir()` on Windows now ignores the non-standard `$HOME` environment variable] (rust-lang/rust#132515) It will be un-deprecated in a subsequent release. - [Add `AsyncFn*` to the prelude in all editions.] (rust-lang/rust#132611) Stabilized APIs --------------- - [`BuildHasherDefault::new`] (https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new) - [`ptr::fn_addr_eq`] (https://doc.rust-lang.org/std/ptr/fn.fn_addr_eq.html) - [`io::ErrorKind::QuotaExceeded`] (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.QuotaExceeded) - [`io::ErrorKind::CrossesDevices`] (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.CrossesDevices) - [`{float}::midpoint`] (https://doc.rust-lang.org/core/primitive.f32.html#method.midpoint) - [Unsigned `{integer}::midpoint`] (https://doc.rust-lang.org/std/primitive.u64.html#method.midpoint) - [`NonZeroU*::midpoint`] (https://doc.rust-lang.org/std/num/type.NonZeroU32.html#method.midpoint) - [impl `std::iter::Extend` for tuples with arity 1 through 12] (https://doc.rust-lang.org/stable/std/iter/trait.Extend.html#impl-Extend%3C(A,)%3E-for-(EA,)) - [`FromIterator<(A, ...)>` for tuples with arity 1 through 12] (https://doc.rust-lang.org/stable/std/iter/trait.FromIterator.html#impl-FromIterator%3C(EA,)%3E-for-(A,)) - [`std::task::Waker::noop`] (https://doc.rust-lang.org/stable/std/task/struct.Waker.html#method.noop) These APIs are now stable in const contexts: - [`mem::size_of_val`] (https://doc.rust-lang.org/stable/std/mem/fn.size_of_val.html) - [`mem::align_of_val`] (https://doc.rust-lang.org/stable/std/mem/fn.align_of_val.html) - [`Layout::for_value`] (https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.for_value) - [`Layout::align_to`] (https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.align_to) - [`Layout::pad_to_align`] (https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.pad_to_align) - [`Layout::extend`] (https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.extend) - [`Layout::array`] (https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.array) - [`std::mem::swap`] (https://doc.rust-lang.org/stable/std/mem/fn.swap.html) - [`std::ptr::swap`] (https://doc.rust-lang.org/stable/std/ptr/fn.swap.html) - [`NonNull::new`] (https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.new) - [`HashMap::with_hasher`] (https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html#method.with_hasher) - [`HashSet::with_hasher`] (https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.with_hasher) - [`BuildHasherDefault::new`] (https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new) - [`<float>::recip`] (https://doc.rust-lang.org/stable/std/primitive.f32.html#method.recip) - [`<float>::to_degrees`] (https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_degrees) - [`<float>::to_radians`] (https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_radians) - [`<float>::max`] (https://doc.rust-lang.org/stable/std/primitive.f32.html#method.max) - [`<float>::min`] (https://doc.rust-lang.org/stable/std/primitive.f32.html#method.min) - [`<float>::clamp`] (https://doc.rust-lang.org/stable/std/primitive.f32.html#method.clamp) - [`<float>::abs`] (https://doc.rust-lang.org/stable/std/primitive.f32.html#method.abs) - [`<float>::signum`] (https://doc.rust-lang.org/stable/std/primitive.f32.html#method.signum) - [`<float>::copysign`] (https://doc.rust-lang.org/stable/std/primitive.f32.html#method.copysign) - [`MaybeUninit::write`] (https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.write) Cargo ----- - [Add future-incompatibility warning against keywords in cfgs and add raw-idents] (rust-lang/cargo#14671) - [Stabilize higher precedence trailing flags] (rust-lang/cargo#14900) - [Pass `CARGO_CFG_FEATURE` to build scripts] (rust-lang/cargo#14902) Rustdoc ----- - [Doc comment on impl blocks shows the first line, even when the impl block is collapsed] (rust-lang/rust#132155) Compatibility Notes ------------------- - [`rustc` no longer treats the `test` cfg as a well known check-cfg] (rust-lang/rust#131729), instead it is up to the build systems and users of `--check-cfg`[^check-cfg] to set it as a well known cfg using `--check-cfg=cfg(test)`. This is done to enable build systems like Cargo to set it conditionally, as not all source files are suitable for unit tests. [Cargo (for now) unconditionally sets the `test` cfg as a well known cfg] (rust-lang/cargo#14963). [^check-cfg]: https://doc.rust-lang.org/nightly/rustc/check-cfg.html - [Disable potentially incorrect type inference if there are trivial and non-trivial where-clauses] (rust-lang/rust#132325) - `std::env::home_dir()` has been deprecated for years, because it can give surprising results in some Windows configurations if the `HOME` environment variable is set (which is not the normal configuration on Windows). We had previously avoided changing its behavior, out of concern for compatibility with code depending on this non-standard configuration. Given how long this function has been deprecated, we're now fixing its behavior as a bugfix. A subsequent release will remove the deprecation for this function. - [Make `core::ffi::c_char` signedness more closely match that of the platform-default `char`] (rust-lang/rust#132975) This changed `c_char` from an `i8` to `u8` or vice versa on many Tier 2 and 3 targets (mostly Arm and RISC-V embedded targets). The new definition may result in compilation failures but fixes compatibility issues with C. The `libc` crate matches this change as of its 0.2.169 release. - [When compiling a nested `macro_rules` macro from an external crate, the content of the inner `macro_rules` is now built with the edition of the external crate, not the local crate.] (rust-lang/rust#133274) - [Increase `sparcv9-sun-solaris` and `x86_64-pc-solaris` Solaris baseline to 11.4.] (rust-lang/rust#133293) - [Show `abi_unsupported_vector_types` lint in future breakage reports] (rust-lang/rust#133374) - [Error if multiple super-trait instantiations of `dyn Trait` need associated types to be specified but only one is provided] (rust-lang/rust#133392) - [Change `powerpc64-ibm-aix` default `codemodel` to large] (rust-lang/rust#133811) Internal Changes ---------------- These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools. - [Build `x86_64-unknown-linux-gnu` with LTO for C/C++ code (e.g., `jemalloc`)] (rust-lang/rust#134690)
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [rust](https://github.com/rust-lang/rust) | minor | `1.84.1` -> `1.85.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>rust-lang/rust (rust)</summary> ### [`v1.85.0`](https://github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1850-2025-02-20) [Compare Source](rust-lang/rust@1.84.1...1.85.0) \========================== <a id="1.85.0-Language"></a> ## Language - [The 2024 Edition is now stable.](rust-lang/rust#133349) See [the edition guide](https://doc.rust-lang.org/nightly/edition-guide/rust-2024/index.html) for more details. - [Stabilize async closures](rust-lang/rust#132706) See [RFC 3668](https://rust-lang.github.io/rfcs/3668-async-closures.html) for more details. - [Stabilize `#[diagnostic::do_not_recommend]`](rust-lang/rust#132056) - [Add `unpredictable_function_pointer_comparisons` lint to warn against function pointer comparisons](rust-lang/rust#118833) - [Lint on combining `#[no_mangle]` and `#[export_name]` attributes.](rust-lang/rust#131558) <a id="1.85.0-Compiler"></a> ## Compiler - [The unstable flag `-Zpolymorphize` has been removed](rust-lang/rust#133883), see rust-lang/compiler-team#810 for some background. <a id="1.85.0-Platform-Support"></a> ## Platform Support - [Promote `powerpc64le-unknown-linux-musl` to tier 2 with host tools](rust-lang/rust#133801) Refer to Rust's \[platform support page]\[platform-support-doc] for more information on Rust's tiered platform support. <a id="1.85.0-Libraries"></a> ## Libraries - [Panics in the standard library now have a leading `library/` in their path](rust-lang/rust#132390) - [`std::env::home_dir()` on Windows now ignores the non-standard `$HOME` environment variable](rust-lang/rust#132515) It will be un-deprecated in a subsequent release. - [Add `AsyncFn*` to the prelude in all editions.](rust-lang/rust#132611) <a id="1.85.0-Stabilized-APIs"></a> ## Stabilized APIs - [`BuildHasherDefault::new`](https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new) - [`ptr::fn_addr_eq`](https://doc.rust-lang.org/std/ptr/fn.fn_addr_eq.html) - [`io::ErrorKind::QuotaExceeded`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.QuotaExceeded) - [`io::ErrorKind::CrossesDevices`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.CrossesDevices) - [`{float}::midpoint`](https://doc.rust-lang.org/core/primitive.f32.html#method.midpoint) - [Unsigned `{integer}::midpoint`](https://doc.rust-lang.org/std/primitive.u64.html#method.midpoint) - [`NonZeroU*::midpoint`](https://doc.rust-lang.org/std/num/type.NonZeroU32.html#method.midpoint) - [impl `std::iter::Extend` for tuples with arity 1 through 12](https://doc.rust-lang.org/stable/std/iter/trait.Extend.html#impl-Extend%3C\(A,\)%3E-for-\(EA,\)) - [`FromIterator<(A, ...)>` for tuples with arity 1 through 12](https://doc.rust-lang.org/stable/std/iter/trait.FromIterator.html#impl-FromIterator%3C\(EA,\)%3E-for-\(A,\)) - [`std::task::Waker::noop`](https://doc.rust-lang.org/stable/std/task/struct.Waker.html#method.noop) These APIs are now stable in const contexts: - [`mem::size_of_val`](https://doc.rust-lang.org/stable/std/mem/fn.size_of_val.html) - [`mem::align_of_val`](https://doc.rust-lang.org/stable/std/mem/fn.align_of_val.html) - [`Layout::for_value`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.for_value) - [`Layout::align_to`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.align_to) - [`Layout::pad_to_align`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.pad_to_align) - [`Layout::extend`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.extend) - [`Layout::array`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.array) - [`std::mem::swap`](https://doc.rust-lang.org/stable/std/mem/fn.swap.html) - [`std::ptr::swap`](https://doc.rust-lang.org/stable/std/ptr/fn.swap.html) - [`NonNull::new`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.new) - [`HashMap::with_hasher`](https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html#method.with_hasher) - [`HashSet::with_hasher`](https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.with_hasher) - [`BuildHasherDefault::new`](https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new) - [`<float>::recip`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.recip) - [`<float>::to_degrees`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_degrees) - [`<float>::to_radians`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_radians) - [`<float>::max`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.max) - [`<float>::min`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.min) - [`<float>::clamp`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.clamp) - [`<float>::abs`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.abs) - [`<float>::signum`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.signum) - [`<float>::copysign`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.copysign) - [`MaybeUninit::write`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.write) <a id="1.85.0-Cargo"></a> ## Cargo - [Add future-incompatibility warning against keywords in cfgs and add raw-idents](rust-lang/cargo#14671) - [Stabilize higher precedence trailing flags](rust-lang/cargo#14900) - [Pass `CARGO_CFG_FEATURE` to build scripts](rust-lang/cargo#14902) <a id="1.85.0-Rustdoc"></a> ## Rustdoc - [Doc comment on impl blocks shows the first line, even when the impl block is collapsed](rust-lang/rust#132155) <a id="1.85.0-Compatibility-Notes"></a> ## Compatibility Notes - [`rustc` no longer treats the `test` cfg as a well known check-cfg](rust-lang/rust#131729), instead it is up to the build systems and users of `--check-cfg`\[^check-cfg] to set it as a well known cfg using `--check-cfg=cfg(test)`. This is done to enable build systems like Cargo to set it conditionally, as not all source files are suitable for unit tests. [Cargo (for now) unconditionally sets the `test` cfg as a well known cfg](rust-lang/cargo#14963). \[^check-cfg]: https://doc.rust-lang.org/nightly/rustc/check-cfg.html - [Disable potentially incorrect type inference if there are trivial and non-trivial where-clauses](rust-lang/rust#132325) - `std::env::home_dir()` has been deprecated for years, because it can give surprising results in some Windows configurations if the `HOME` environment variable is set (which is not the normal configuration on Windows). We had previously avoided changing its behavior, out of concern for compatibility with code depending on this non-standard configuration. Given how long this function has been deprecated, we're now fixing its behavior as a bugfix. A subsequent release will remove the deprecation for this function. - [Make `core::ffi::c_char` signedness more closely match that of the platform-default `char`](rust-lang/rust#132975) This changed `c_char` from an `i8` to `u8` or vice versa on many Tier 2 and 3 targets (mostly Arm and RISC-V embedded targets). The new definition may result in compilation failures but fixes compatibility issues with C. The `libc` crate matches this change as of its 0.2.169 release. - [When compiling a nested `macro_rules` macro from an external crate, the content of the inner `macro_rules` is now built with the edition of the external crate, not the local crate.](rust-lang/rust#133274) - [Increase `sparcv9-sun-solaris` and `x86_64-pc-solaris` Solaris baseline to 11.4.](rust-lang/rust#133293) - [Show `abi_unsupported_vector_types` lint in future breakage reports](rust-lang/rust#133374) - [Error if multiple super-trait instantiations of `dyn Trait` need associated types to be specified but only one is provided](rust-lang/rust#133392) - [Change `powerpc64-ibm-aix` default `codemodel` to large](rust-lang/rust#133811) <a id="1.85.0-Internal-Changes"></a> ## Internal Changes These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools. - [Build `x86_64-unknown-linux-gnu` with LTO for C/C++ code (e.g., `jemalloc`)](rust-lang/rust#134690) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODAuMyIsInVwZGF0ZWRJblZlciI6IjM5LjE4MC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
…viper Revert vita's c_char back to i8 # Description Hi! rust-lang#132975 changed the definition of `c_char` from i8 to u8 for most ARM targets. While that would usually be correct, [VITASDK uses signed chars by default](https://github.com/vitasdk/buildscripts/blob/master/patches/gcc/0001-gcc-10.patch#L33-L34). The Clang definitions are incorrect because Clang is not (yet?) supported by the vita commmunity / `VITADSK`, On the Rust side, the pre-compiled libraries the user can link to are all compiled using vita's `gcc` and [we set `TARGET_CC` and `TARGET_CXX`](https://github.com/vita-rust/cargo-vita/blob/d564a132cbd43947118c0d6d0ebfbea7d1dd7fa7/src/commands/build.rs#L230) in `cargo vita` for build scripts using `cc`. I'm creating it as a draft PR so that we can discuss it and possibly get it approved here, but wait to merge the [libc side](rust-lang/libc#4258) and get a libc version first, as having the definitions out of sync breaks std. As a nightly-only target it can be confusing/frustrating for new users when the latest nightly, which is the default, is broken.
…viper Revert vita's c_char back to i8 # Description Hi! rust-lang#132975 changed the definition of `c_char` from i8 to u8 for most ARM targets. While that would usually be correct, [VITASDK uses signed chars by default](https://github.com/vitasdk/buildscripts/blob/master/patches/gcc/0001-gcc-10.patch#L33-L34). The Clang definitions are incorrect because Clang is not (yet?) supported by the vita commmunity / `VITADSK`, On the Rust side, the pre-compiled libraries the user can link to are all compiled using vita's `gcc` and [we set `TARGET_CC` and `TARGET_CXX`](https://github.com/vita-rust/cargo-vita/blob/d564a132cbd43947118c0d6d0ebfbea7d1dd7fa7/src/commands/build.rs#L230) in `cargo vita` for build scripts using `cc`. I'm creating it as a draft PR so that we can discuss it and possibly get it approved here, but wait to merge the [libc side](rust-lang/libc#4258) and get a libc version first, as having the definitions out of sync breaks std. As a nightly-only target it can be confusing/frustrating for new users when the latest nightly, which is the default, is broken.
…viper Revert vita's c_char back to i8 # Description Hi! rust-lang#132975 changed the definition of `c_char` from i8 to u8 for most ARM targets. While that would usually be correct, [VITASDK uses signed chars by default](https://github.com/vitasdk/buildscripts/blob/master/patches/gcc/0001-gcc-10.patch#L33-L34). The Clang definitions are incorrect because Clang is not (yet?) supported by the vita commmunity / `VITADSK`, On the Rust side, the pre-compiled libraries the user can link to are all compiled using vita's `gcc` and [we set `TARGET_CC` and `TARGET_CXX`](https://github.com/vita-rust/cargo-vita/blob/d564a132cbd43947118c0d6d0ebfbea7d1dd7fa7/src/commands/build.rs#L230) in `cargo vita` for build scripts using `cc`. I'm creating it as a draft PR so that we can discuss it and possibly get it approved here, but wait to merge the [libc side](rust-lang/libc#4258) and get a libc version first, as having the definitions out of sync breaks std. As a nightly-only target it can be confusing/frustrating for new users when the latest nightly, which is the default, is broken.
Rollup merge of rust-lang#136667 - vita-rust:revert-vita-c-char, r=cuviper Revert vita's c_char back to i8 # Description Hi! rust-lang#132975 changed the definition of `c_char` from i8 to u8 for most ARM targets. While that would usually be correct, [VITASDK uses signed chars by default](https://github.com/vitasdk/buildscripts/blob/master/patches/gcc/0001-gcc-10.patch#L33-L34). The Clang definitions are incorrect because Clang is not (yet?) supported by the vita commmunity / `VITADSK`, On the Rust side, the pre-compiled libraries the user can link to are all compiled using vita's `gcc` and [we set `TARGET_CC` and `TARGET_CXX`](https://github.com/vita-rust/cargo-vita/blob/d564a132cbd43947118c0d6d0ebfbea7d1dd7fa7/src/commands/build.rs#L230) in `cargo vita` for build scripts using `cc`. I'm creating it as a draft PR so that we can discuss it and possibly get it approved here, but wait to merge the [libc side](rust-lang/libc#4258) and get a libc version first, as having the definitions out of sync breaks std. As a nightly-only target it can be confusing/frustrating for new users when the latest nightly, which is the default, is broken.
As noted in rust-lang#132975 (comment), the default for userland apps is to follow the architecture defaults, the -funsigned-char flag only applies to kernel builds.
De-duplicate and improve definition of core::ffi::c_char Instead of having a list of unsigned char targets for each OS, follow the logic Clang uses and instead set the value based on architecture with a special case for Darwin and Windows operating systems. This makes it easier to support new operating systems targeting Arm/AArch64 without having to modify this config statement for each new OS. The new list does not quite match Clang since I noticed a few bugs in the Clang implementation (llvm/llvm-project#115957). Fixes rust-lang#129945 Closes rust-lang#131319
…iaskrgr Rollup of 6 pull requests Successful merges: - rust-lang#132975 (De-duplicate and improve definition of core::ffi::c_char) - rust-lang#133598 (Change `GetManyMutError` to match T-libs-api decision) - rust-lang#134148 (add comments in check_expr_field) - rust-lang#134163 (coverage: Rearrange the code for embedding per-function coverage metadata) - rust-lang#134165 (wasm(32|64): update alignment string) - rust-lang#134170 (Subtree update of `rust-analyzer`) r? `@ghost` `@rustbot` modify labels: rollup
…jubilee Fix building `std` for Hermit after `c_char` change These changes were made necessary by rust-lang#132975.
Update comments and sort target_arch in c_char_definition Follow-up to rust-lang#132975. - Clang's wrong default on MSP430 has been fixed in llvm/llvm-project#115964, and will be included in LLVM 20, which will be used soon. - Add a reference on Xtensa's default (from rust-lang#132975 (comment)). - Fix link for Windows's default. - Add a link to the discussion on L4Re (rust-lang#132975 (comment)) - Sort `target_arch`. (now match with `target_arch`s in comments) r? `@tgross35`
0f3a7e97f23 [create-pull-request] automated change 071d976677d Rollup merge of #137730 - RalfJung:checked_ilog_tests, r=tgross35 23d9066ec80 Rollup merge of #137673 - ChrisDenton:search-path-bug, r=dtolnay f7930f32a43 Rollup merge of #137551 - folkertdev:import-simd-intrinsics, r=RalfJung eeaf188b75b Rollup merge of #137197 - scottmcm:cmp-20, r=ibraheemdev ce363e1f5a3 checked_ilog tests: deal with a bit of float imprecision 527700acb28 make `simd_insert` and `simd_extract` `const fn`s 655937cfffd Rollup merge of #137480 - fuzzypixelz:fix/124466, r=workingjubilee 8e62371cff2 Rollup merge of #137304 - pitaj:rangebounds-is_empty-intersect, r=ibraheemdev bcd2e09423d require trait impls to have matching const stabilities as the traits 83e302acdba Rollup merge of #137620 - SergioGasquez:fix/espidf-maybeunit, r=ChrisDenton 97600a048b0 Rollup merge of #136187 - hkBst:patch-27, r=workingjubilee ea50b435ee8 Rollup merge of #134585 - cyrgani:uninit_array, r=Amanieu f30b9d5a2fa Fix Windows `Command` search path bug af61cb55382 Rollup merge of #137614 - xizheyin:issue-134874, r=cuviper 9f8f1da9f8a Rollup merge of #137311 - martn3:enable-f16-mips, r=tgross35 d98eda35cc7 Rollup merge of #137154 - thaliaarchi:wtf8-fast-paths, r=ChrisDenton 38b89473ddd Auto merge of #137594 - RalfJung:miri-sync, r=RalfJung df916c9f372 Auto merge of #137608 - fmease:rollup-h4siso6, r=fmease 129cda1f586 fix: attr cast for espidf 3aeaf5120c8 fix doc in library/core/src/pin.rs 9768712318a Rollup merge of #137515 - tgross35:update-builtins, r=tgross35 87be353d74c Use `.expect(..)` instead ea230c2badf Rollup merge of #137576 - goffrie:setvalzst, r=lcnr 33c26395bed disable a potentially bogus test on Miri 24657f1ca1d Merge from rustc 48573410f77 Auto merge of #137571 - tgross35:rollup-i1tcnv1, r=tgross35 bdf09503ea5 Don't doc-comment BTreeMap<K, SetValZST, A> 34f05a38094 Rollup merge of #137543 - petrochenkov:wintest, r=ChrisDenton 0e4b3df587c Rollup merge of #137489 - RalfJung:no-more-rustc_intrinsic_must_be_overridden, r=oli-obk 3b6f96f870c Rollup merge of #137321 - aviraxp:patch-1, r=cuviper 4ed2ab3ed35 Rollup merge of #137516 - RalfJung:rustc_const_unstable-cleanup, r=Amanieu 763f918aa56 Rollup merge of #137349 - thaliaarchi:io-optional-methods/zkvm, r=Noratrieb 8df024d161b Rollup merge of #137109 - bend-n:knife, r=oli-obk 00bb0b92047 Rollup merge of #136775 - robertbastian:patch-2, r=Amanieu 128fd654118 Rollup merge of #136668 - WaffleLapkin:from_utf8_mut, r=Amanieu 3fc5093bfbc Rollup merge of #135933 - hkBst:patch-19, r=workingjubilee fdc6f873867 Rollup merge of #134655 - GrigorenkoPV:hash_extract_if, r=cuviper 780a3d470ae Simplify trait error message for CoercePointee validation f5c2e86bd6b std: Fix another new symlink test on Windows 4c451e86fe9 Update string.rs 9d1ad26a7c4 Remove speculation on cause of error 2dad07891a2 remove some unnecessary rustc_const_unstable 9bcae8d3756 Update `compiler-builtins` to 0.1.148 474351c0ffe Rollup merge of #137495 - madhav-madhusoodanan:feature-unstable-control-flow-into-value, r=jhpratt c0b3b0214a1 Rollup merge of #137484 - chenyukang:yukang-fix-sort-doc, r=Noratrieb 8b8593f569f Rollup merge of #137482 - rust9x:win-file-open-truncate, r=ChrisDenton 42749e05c04 Rollup merge of #137393 - chorman0773:unbounded-shifts-stabilize, r=Amanieu e63e6ce99cb Rollup merge of #137061 - progressive-galib:gen_future-closing#76249, r=ibraheemdev 377b0d5e48d Merge from rustc 7be8a82ca96 remove uses of rustc_intrinsic_must_be_overridden from standard library f7b28853ff5 Added into_value const function to ControlFlow<T, T> 4fb5a2768e0 Rollup merge of #137483 - bend-n:😅, r=Noratrieb 87f88783d22 Rollup merge of #137297 - tgross35:update-builtins, r=tgross35 33e45d65a21 Rollup merge of #136543 - RalfJung:round-ties-even, r=tgross35 e11873b1751 rename sub_ptr 😅 e29396c8cb0 Fix documentation for unstable sort eb9a602d424 Stabilize `core::str::from_utf8_mut` 0d6361ef2c0 stabilize extract_if 66d3b7527b8 Win: use existing wrappers for `SetFileInformationByHandle` in `File::open_native` 9d830bdb584 Return error on unexpected termination in `Thread::join`. 3abc6940750 Auto merge of #137237 - cuviper:stage0, r=Mark-Simulacrum 4eb3105e762 add stdarch compatibility hack 97b3a661885 Rollup merge of #137194 - kornelski:ftls, r=tgross35 947d1fa0376 Rollup merge of #136826 - xizheyin:issue-136737, r=thomcc f31cb937609 Update `compiler-builtins` to 0.1.147 85335cc78f3 Rollup merge of #137383 - folkertdev:stabilize-unsigned-is-multiple-of, r=Noratrieb e5b671a44a5 Rollup merge of #137121 - bend-n:master, r=Noratrieb 36a59f86f93 Rollup merge of #135501 - tgross35:stdlib-dependencies-private, r=bjorn3 359de44870d make the new intrinsics safe a36adc48c04 Rollup merge of #137388 - PaulDance:disable-rename-posix-semantics-tests-under-win7, r=ChrisDenton 9294e5f976f Rollup merge of #136910 - okaneco:sig_ones, r=thomcc 37defc963bf Rollup merge of #137207 - petertodd:2025-add-track-caller-to-duration-div, r=jhpratt 6a5acde0349 Auto merge of #137397 - matthiaskrgr:rollup-ls2pilo, r=matthiaskrgr e2bc4b8c37b Fix(lib/fs/tests): Disable rename POSIX semantics FS tests under Windows 7 00c5f8a98e1 Fix unbounded_shifts tests 8960db9c01c Rollup merge of #137353 - thaliaarchi:io-optional-methods/wasi-stdin, r=alexcrichton f192be550c3 Rollup merge of #137336 - riverbl:stabilise-os-str-display, r=tgross35 72deb39375c Rollup merge of #136609 - mammothbane:master, r=scottmcm b8795e9e25f Rollup merge of #136148 - kpreid:type-str, r=joboet 45635480085 Replace some instances of `pub` with `pub(crate)` dd5703d6193 Use `public-dependencies` in all sysroot crates 28e2c6a465a Stabilize `unbounded_shifts` ec588f17554 stabilize `unsigned_is_multiple_of` 5a68dd2c32e Auto merge of #137371 - matthiaskrgr:rollup-3qkdqar, r=matthiaskrgr e7ca18efc24 Do not use CString in the examples of CStr. 42e10aff157 Use faster thread_local! for stdout 267c460933d Use faster thread_local in current_thread_id() c572f028539 Highlight thread_local! const init in docs 71a1fb96c06 Rollup merge of #136089 - jwong101:box-default-debug-stack-usage, r=Amanieu 919ca9f6cc0 Explain how Vec::with_capacity is faithful 0a38e5c2335 Auto merge of #137192 - kornelski:windows-tls-lto, r=ChrisDenton 388d94e67e5 Implement read_buf for WASI stdin 56175d3c50a Implement read_buf for zkVM stdin beb7d40fb5d Rollup merge of #137270 - QianNangong:master, r=ChrisDenton e05373bef28 Rollup merge of #134340 - Urgau:stabilize-num_midpoint_signed, r=scottmcm 3205f6f8401 Stabilise `os_str_display` c33f0218629 Auto merge of #136771 - scottmcm:poke-slice-iter-next, r=joboet 7f2f0ccc4db Correct doc about `temp_dir()` behavior on Android ca767c6a439 Enable `f16` for MIPS 5fb2e42857d Implement feature `isolate_most_least_significant_one` for integer types d6b87df28e3 add `IntoBounds::intersect` and `RangeBounds::is_empty` f1c6d786632 Skip scanning for surrogates when not known valid 86402a4df84 Add fast path for displaying pre-validated Wtf8Buf f9d795e857b Auto merge of #137295 - matthiaskrgr:rollup-tdu3t39, r=matthiaskrgr b51ff7a2af3 Rollup merge of #137277 - m4rch3n1ng:stabilize-inherent-str-constructors, r=tgross35 e7decbcc618 Auto merge of #137290 - matthiaskrgr:rollup-a7xdbi4, r=matthiaskrgr fb345261a92 Rollup merge of #137155 - thaliaarchi:wtf8-organize, r=ChrisDenton 7b3d14c2dac Rollup merge of #136923 - samueltardieu:push-vxxqvqwspssv, r=davidtwco 105431d09b4 Rollup merge of #136690 - Voultapher:use-more-explicit-and-reliable-ptr-select, r=thomcc 0083d27be4c Rollup merge of #132268 - elichai:string_try_from_vec, r=Amanieu daabdc1c710 Rollup merge of #120580 - HTGAzureX1212:HTGAzureX1212/issue-45795, r=m-ou-se 85ae6a2f8f3 stabilize `inherent_str_constructors` 3a375d00778 Rollup merge of #136794 - cberner:stabilize, r=joshtriplett 2a2c9d829b0 Rollup merge of #136347 - allevo:patch-1, r=Amanieu d1667fc8ca4 Rollup merge of #136301 - hkBst:patch-33, r=thomcc baacf0f3994 Rollup merge of #134995 - DaniPopes:stable-const_slice_flatten, r=Amanieu 18931269a1c fix by comments ff43a1fcdca Fix `*-win7-windows-msvc` target since 26eeac1a1e9fe46ffd80dd0d3dafdd2c2a644306 9584036e9b5 Update library/std/src/fs.rs 667572fc819 core/net: IpAddr*::as_octets() e3bbe483fd3 remove assume_init in stack_overflow af9fc8f38f4 Merge from rustc fd5d2c601ae Rollup merge of #137228 - steffahn:one-coerces-to-supertypes-not-subtypes, r=the8472 7f4597fc397 Rollup merge of #137026 - GrigorenkoPV:integer_sign_cast, r=jhpratt d48df9dfe47 Auto merge of #137235 - matthiaskrgr:rollup-2kjua2t, r=matthiaskrgr 2a68133763c Remove outdated target `unexpected_cfgs` 1eeac08ba0d Rollup merge of #137126 - m4rch3n1ng:fix-inherent-str-docs, r=Amanieu f1f08cafa7a Rollup merge of #136876 - joshtriplett:locking-might-not-be-advisory, r=Amanieu 102e63b0480 Rollup merge of #137214 - cyrgani:clippy_diagnostic_items, r=compiler-errors 5b72eaad8ed Rollup merge of #137205 - thaliaarchi:remove-wasi-fileext-tell, r=alexcrichton 1220ccf6944 Rollup merge of #137167 - martn3:reliable_f16_math-f16-erfc, r=tgross35 d9110584f0d Rollup merge of #136750 - kornelski:ub-bug, r=saethlin 48b02132eac update `cfg(bootstrap)` d43df0d231a Fix typo in hidden internal docs of `TrustedRandomAccess` ac553cb6319 update version placeholders ba8bd37a540 Reorder "This lock may be advisory or mandatory." earlier in the lock docs 84472b88ffe Clarify that locking on Windows also works for files opened with `.read(true)` 1eb38edd9fa add last std diagnostic items for clippy dad8c58641e Add #[track_caller] to Duration Div impl 74abdb5a254 Remove std::os::wasi::fs::FileExt::tell c439b11d9f4 Update some comparison tests now that they pass in LLVM20 33d4cd0c792 Remove obsolete MinGW ThinLTO+TLS workaround b7b81469900 Rollup merge of #137165 - thaliaarchi:file-tell, r=ChrisDenton f6b7cbc698d Use tell for <File as Seek>::stream_position 083489d1c96 Auto merge of #137164 - matthiaskrgr:rollup-dj5826k, r=matthiaskrgr 087c32bace1 tests: Also gate `f16::erfc()` doctest with `reliable_f16_math` cfg 48884882a6e Rollup merge of #137105 - zachs18:cow-derefpure-restrict, r=Nadrieril ebcf8a346b7 Rollup merge of #137101 - GrigorenkoPV:str-inherent-lint, r=Urgau 319f0802bbb Rollup merge of #136844 - thaliaarchi:const-io-error, r=ChrisDenton 900e66fd93c Merge from rustc e9eaf8fd3df stabilize (const_)ptr_sub_ptr 25f6fd491c7 Synchronize platform adaptors for OsString/OsStr d68ea39842d Simplify control flow with while-let 61eea6c7af2 Improve WTF-8 comments 78f5f6895e8 Rollup merge of #137114 - ChrisDenton:error, r=Noratrieb f49474ec257 Rollup merge of #136986 - ehuss:library-unsafe-fun, r=Noratrieb c9de0946aa8 invalid_from_utf8[_unchecked]: also lint inherent methods bfeda0a52f7 add MAX_LEN_UTF8 and MAX_LEN_UTF16 constants 0aeba5b388f fix docs for inherent str constructors 0ca46456e46 Add an example for std::error::Error 9b26bae8acd Merge from rustc 263e4b25f16 Restrict DerefPure for Cow<T> impl to T = impl Clone, [impl Clone], str. 6b9b271d1bd Make ub_check message clear that it's not an assert 4f6a457616c remove MaybeUninit::uninit_array 27d76de79bf docs: fix broken intra-doc links that never worked 16ea589cd4b Auto merge of #137065 - jhpratt:rollup-ree9mej, r=jhpratt c2b1e088c4f Rollup merge of #137062 - thaliaarchi:io-optional-methods/write, r=workingjubilee 94b1a33307f Rollup merge of #136978 - ChrisDenton:windows-bindgen, r=Amanieu 2bc3e8b2635 Rollup merge of #136879 - kornelski:non1, r=Noratrieb df761061e6d Rollup merge of #136749 - mzeitlin11:extend-asciichar, r=scottmcm 2d1f245f652 Rollup merge of #135687 - joseluis:feat-reexport_from_coroutine, r=scottmcm 7496de0af43 tidying up tidy 45580317d51 Add real safety comments c71d9b123fb Go back to `Some` instead of transmuting to it. 304ce1b3b8a Save another BB by using `SubUnchecked` instead of a call to `arith_offset` f13856002b6 Simplify `slice::Iter::next` enough that it inlines c887174a273 Forward all default methods for I/O impls a7c46dd7b8d replaced the four occurrences of issue ="50547" in library/core/src/future/mod.rs with issue = "none" d241320273b Merge from rustc 9691b85c13c Auto merge of #136324 - GrigorenkoPV:erf, r=tgross35 147f24812ad Rollup merge of #136983 - ehuss:misc-2024-prep, r=tgross35 64d4df82fa3 Rollup merge of #134016 - zachs18:stable-const-str-split_at, r=Amanieu a1d6e57f8da Stabilize (and const-stabilize) `integer_sign_cast` 5f7a207ad9a proc_macro: Apply unsafe_op_in_unsafe_fn 231fc7d5115 std: Apply unsafe_op_in_unsafe_fn 13e034d1509 Fix safety of windows uwp functions 99021161db3 unwind: Apply unsafe_op_in_unsafe_fn 0ed0d928c15 panic_unwind: Apply unsafe_op_in_unsafe_fn 1ed3d402bd4 panic_abort: Apply unsafe_op_in_unsafe_fn 4c1262b3978 core: Apply unsafe_op_in_unsafe_fn 0617326e5e1 Rollup merge of #136976 - jedbrown:jed/doc-boxed-deferred-init, r=tgross35 ab7e5e6e973 Rollup merge of #136967 - DaniPopes:io-repeat-fill, r=joboet a26d6a8d876 Rollup merge of #136886 - ehuss:remove-prelude-common, r=jhpratt d8188dd66e1 Rollup merge of #136052 - no1wudi:fix, r=workingjubilee 827593948bc Add safe new to NotAllOnes 74c0eeaca74 Auto merge of #136735 - scottmcm:transmute-nonnull, r=oli-obk 30de706e194 Rollup merge of #136992 - ehuss:update-backtrace, r=workingjubilee a8d90674e4e Rollup merge of #136908 - mustartt:aix-mutex-destory-einval, r=joboet e455964a4d1 Rollup merge of #136904 - pitaj:range-into_bounds, r=tgross35 44c37a8084d Update backtrace ab632ba7993 Implement `f{16,32,64,128}::{erf,erfc}` 346c0f5521a std: Apply deprecated_safe_2024 f158ad20936 test: Apply deprecated_safe_2024 163c2871768 std: Apply fixes for tail drop expressions d5feb71dd61 std: Apply rust_2024_incompatible_pat a9dddc5ef5b std: Apply dependency_on_unit_never_type_fallback 378344935e6 std: Apply missing_unsafe_on_extern 3140f7daeff std: Apply unsafe_attr_outside_unsafe eb27443f29d alloc: Apply missing_unsafe_on_extern 8aab2dd2569 alloc: Apply unsafe_attr_outside_unsafe e983f6aed11 alloc: Workaround hidden doctest line 55127d7d462 Migrate coretests to Rust 2024 ad44a5905b9 Auto merge of #134633 - GrigorenkoPV:get_disjoint_mut, r=cuviper 680d54900c2 library: Update rand to 0.9.0 c8c0557cfc7 core: Apply unsafe_attr_outside_unsafe 216bdd3e399 alloc boxed: docs: use MaybeUninit::write instead of as_mut_ptr 6f4d9234b93 Consistently using as_mut_ptr() and as_ptr() in thread d7dc0a00893 Replace mem::zeroed with mem::MaybeUninit::uninit for large struct in unix 0ab18c7b508 Use `slice::fill` in `io::Repeat` implementation da4ed381b0a Windows: Update generated bindings to 0.59 3a3d327ef19 Rollup merge of #136949 - ehuss:wasm-bench-time, r=jhpratt 1ee869f3c63 Rollup merge of #136660 - compiler-errors:BikeshedGuaranteedNoDrop, r=lcnr 8ea18d80d82 `transmute` should also assume non-null pointers 32f3b03288c Merge from rustc b1035170c03 Implement and use BikeshedGuaranteedNoDrop for union/unsafe field validity 19c0893315e Rollup merge of #136945 - samueltardieu:push-rsqlyknnvyqm, r=fmease 966b014bfdf Rollup merge of #136818 - a1phyr:io_repeat_exact, r=jhpratt 55830306895 Rollup merge of #136699 - joboet:netaddr_from_inner, r=cuviper c795fe44468 Rollup merge of #134090 - veluca93:stable-tf11, r=oli-obk 7b96a46867d add `IntoBounds` trait fc1fd29a71a Fix import in bench for wasm 9219f4e6c4c Add diagnostic item for `std::io::BufRead` 0e05aa56601 Rollup merge of #136890 - saethlin:swap_nonoverlapping, r=RalfJung 3715d9e0c16 Change swap_nonoverlapping from lang to library UB 384e69994e1 std: replace the `FromInner` implementation for addresses with private conversion functions 8676bc869bd Remove ignored `#[must_use]` attributes from portable-simd b2adc75b1d3 Auto merge of #136918 - GuillaumeGomez:rollup-f6h21gg, r=GuillaumeGomez 4104dfa0c49 Rollup merge of #136915 - eyelash:float-precision, r=workingjubilee eac6d788e7f Rollup merge of #136875 - BoxyUwU:rdg-push, r=jieyouxu 7b900a0c001 Auto merge of #136897 - workingjubilee:revert-unfcped-stab, r=WaffleLapkin d7a30378ff8 `f128` is quadruple-precision c747c4c9355 `f16` is half-precision c01794babe2 expect EINVAL for pthread_mutex_destroy for aix 64453dd64ac Rollup merge of #136874 - tgross35:likely-unlikely-tracking, r=jhpratt dbf8f031153 library: amend revert of extended_varargs_abi_support for beta diff 703da525681 Optionally add type names to `TypeId`s. a3aa8e0ebf9 Revert "Stabilize `extended_varargs_abi_support`" 7fb3f7ff532 Remove the common prelude module 66541f0e466 Document that locking a file fails on Windows if the file is opened only for append 168693dd1b7 Reword file lock documentation to clarify advisory vs mandatory 9cb690dbd8a Rollup merge of #136354 - hkBst:patch-34, r=ibraheemdev e0b12260f17 Rollup merge of #136246 - hkBst:patch-29, r=ibraheemdev 928bef99674 Change the issue number for `likely_unlikely` and `cold_path` aae7e6cad6b Auto merge of #136851 - jhpratt:rollup-ftijn95, r=jhpratt b4de212ba47 include note on variance and example 98e87084daf Update docs for impl keyword 53df90005c6 Rollup merge of #136704 - benschulz:patch-1, r=ibraheemdev 13617787a75 Rollup merge of #136672 - safinaskar:alloc-2025-02-07-09-10, r=cuviper 890c49d1e28 Rollup merge of #136663 - WaffleLapkin:count-non-zero-ones, r=cuviper 961e80f546e Merge from rustc 91276cbc2e2 Fix long lines which rustfmt fails to format ea86b6b61d0 Rollup merge of #136107 - dingxiangfei2009:coerce-pointee-wellformed, r=compiler-errors e262e3ea663 Fix &&str and trailing commas in io::const_error! 7dd9fdced8c Use io::const_error! when possible over io::Error::new 8937afec85c Auto merge of #136823 - matthiaskrgr:rollup-vp20mk1, r=matthiaskrgr 0ae37883417 Reword doc comment on `CoercePointeeValidated` 30a505f2920 Rollup merge of #136714 - tgross35:update-builtins, r=tgross35 038d4e4e622 Auto merge of #135701 - calebzulawski:sync-from-portable-simd-2025-01-18, r=workingjubilee 1d698993f59 Implement `read*_exact` for `std:io::repeat` 66529b7c34d Rollup merge of #136805 - RalfJung:miri-win-delete-self, r=Noratrieb a995068a518 Rollup merge of #136705 - compiler-errors:edition-library, r=jhpratt 40908d20b69 Rollup merge of #136552 - ChrisDenton:option-find-handle, r=Mark-Simulacrum 2710c50c59d Rollup merge of #136353 - purplesyringa:libtest-instant-wasm, r=Mark-Simulacrum 5e7940f9979 Rollup merge of #136228 - hkBst:patch-28, r=Mark-Simulacrum a2ba8ac771d ignore win_delete_self test in Miri df899865ee4 Merge from rustc 92386bd518c Stabilize file_lock 4fa9ad28bb2 fix(libtest): Enable Instant on Emscripten targets 6980c51378f block coerce_pointee_validated for stabilization 951ffaba4e3 Rollup merge of #135488 - GrigorenkoPV:vec_pop_if, r=jhpratt cbc61e8f2ba Fix pattern matching mode changes and unsafe_op_in_unsafe_fn d9e0a425f20 Mark extern blocks as unsafe 370f8629369 Rename field in OnceWith from gen to make 2dc589bef37 Mark link_section attr with unsafe 1fdb5970812 Update string.rs 8d0206bb68c Auto merge of #136751 - bjorn3:update_rustfmt, r=Mark-Simulacrum 372b6212e4a Auto merge of #136754 - Urgau:rollup-qlkhjqr, r=Urgau e7b600fe4b4 rename the trait to validity and place a feature gate afront 767ecf57208 introduce CoercePointeeWellformed for coherence checks at typeck stage 594556dd299 Rollup merge of #136724 - steffahn:asyncfn-non-fundamental, r=compiler-errors 69d386ec244 Rollup merge of #136710 - JakenHerman:jaken/iterator-docs, r=workingjubilee 3d64f4c1ba6 Rollup merge of #136686 - bjoernager:master, r=jhpratt 9e2eb8d4b91 Rollup merge of #136601 - compiler-errors:borrow-null-zst, r=saethlin de555d8a276 Rollup merge of #136213 - erickt:fs, r=Mark-Simulacrum 3bc72bb59f9 Rollup merge of #134679 - ChrisDenton:rm-readonly, r=Mark-Simulacrum 275be806bf5 occured -> occurred c74f8b5fc1f Rustfmt 88ee8a04b47 Document `Sum::sum` returns additive identities for `[]` 9cf53b6ea43 Implement Extend<AsciiChar> for String 1d535de7364 Rollup merge of #136099 - Kijewski:pr-rc-str-default, r=ibraheemdev c6124b4c448 Rollup merge of #135696 - joboet:move_pal_io, r=Noratrieb 2a7a079772a Merge from rustc 2b41365cfca Auto merge of #136713 - matthiaskrgr:rollup-sy6py39, r=matthiaskrgr 95ea59d5173 Make `AsyncFnOnce`, `AsyncFnMut`, `AsyncFn` non-`#[fundamental]` ad5aea5e454 Update `compiler-builtins` to 0.1.146 82e98ea854e Rollup merge of #136682 - ChrisDenton:move-win-proc-tests, r=joboet 20e702ffb2e Rollup merge of #136635 - jieyouxu:base_port, r=joboet f673e1606ed Rollup merge of #136615 - Ayush1325:uefi-net-unsupported, r=joboet fc11b454ce5 Improve examples for file locking 4b3e632673b Rollup merge of #135945 - estebank:useless-parens, r=compiler-errors 0d0527e1702 Rollup merge of #134367 - WaffleLapkin:trait_upcasting_as_a_treat, r=compiler-errors 7dd6829164d std: get rid of `sys_common::io` 9b7104dbe47 std: move `io` module out of `pal` c1f3f20b634 Use more explicit and reliable ptr select in sort impls e8e96403b8a Clean up 'HashMap' and 'HashSet' docs; 8f754628013 Rollup merge of #136634 - bjoernager:const-mut-cursor, r=m-ou-se 1ff33ee233d Move two windows process tests to tests/ui ff5abb62988 library: doc: core::alloc::Allocator: trivial typo fix fe1439a94eb remove use of `feature(trait_upcasting)` from core tests 4c33132baee Remove some unnecessary parens in `assert!` conditions 10eb42d9237 stabilize `NonZero::count_ones` 10c27803bc3 Rollup merge of #136152 - Urgau:stabilize-map_many_mut, r=joshtriplett f973a52645b Rollup merge of #136630 - jieyouxu:render_tests, r=ChrisDenton bf2eee8a588 Stabilise 'Cursor::{get_mut, set_position}' in 'const' scenarios; c055c57b6f9 tests(std/net): remove outdated `base_port` calculation 0a62a04415e tests(std): don't output to std{out,err} in `test_creation_flags` and `test_proc_thread_attributes` 26037053b33 Auto merge of #136613 - workingjubilee:rollup-ry6rw0m, r=workingjubilee 94b8c8abce3 sys: net: Add UEFI stubs 0e43e9c22ce Rollup merge of #136595 - thaliaarchi:hermit-unreachable-pub, r=Noratrieb ef106388320 Rollup merge of #136566 - hkBst:patch-1, r=scottmcm ccd78f8a0e2 Auto merge of #136409 - TDecking:mul_hi, r=Mark-Simulacrum ae8a4a9d009 Rollup merge of #136555 - cramertj:split_off, r=dtolnay 5792f5cd50b Rollup merge of #136537 - tgross35:update-builtins, r=tgross35 29d0feddcab Rollup merge of #136517 - m4rch3n1ng:inherent-str-constructors, r=jhpratt 48b038cf2af Rollup merge of #136449 - joboet:move_pal_net, r=ChrisDenton a20c46c0a18 Rollup merge of #136418 - Ayush1325:command-env, r=jhpratt b0449f2f6e1 Fix link in from_fn.rs 3dd32ae84d9 Fix unreachable_pub lint for hermit target 08a556e6906 Rollup merge of #136502 - yotamofek:pr/fmt-from-fn-must-use, r=dtolnay 1420e0334e9 Rollup merge of #128045 - pnkfelix:rustc-contracts, r=oli-obk b5db0562096 Add OneSidedRangeBound to eliminate panic in `split_point_of` 3daa09ada6e Rename slice::take methods to split_off 10189db6e75 Use Option for FindNextFileHandle d9ad3d612d2 Auto merge of #135760 - scottmcm:disjoint-bitor, r=WaffleLapkin 023ac462a65 intrinsics: unify rint, roundeven, nearbyint in a single round_ties_even intrinsic 3e9dee72261 Auto merge of #136534 - jhpratt:rollup-dnz57dq, r=jhpratt f3cc8954938 Auto merge of #136533 - jhpratt:rollup-s0ign8n, r=jhpratt 5880f67026b Update `compiler-builtins` to 0.1.145 c78c36fa474 Rollup merge of #136518 - Urgau:fn_ptr-public-bound, r=Noratrieb 40c37fc3799 Rollup merge of #136511 - joshtriplett:nonzero-cast-signed-unsigned, r=dtolnay 4a1eec8014f Rollup merge of #136479 - RalfJung:dirent64, r=tgross35 0bb9ad7ace0 Rollup merge of #136398 - pitaj:unsafecell_access, r=dtolnay 29498e70b30 Rollup merge of #136334 - ricci009:primitivers, r=tgross35 6e1295bc8c9 Rollup merge of #136167 - pitaj:new_range, r=Nadrieril dbe125183da Rollup merge of #135621 - bjorn3:move_tests_to_stdtests, r=Noratrieb ecfdcb94bc0 Auto merge of #135265 - pascaldekloe:fmt-int-speed, r=tgross35,ChrisDenton ee3eff0675a specify a prim@slice in docs 43ef876e485 implement inherent str constructors c1c78464cdb Add note about `FnPtr` being exposed as public bound 60976d84595 primitive type migration from mod.rs to primitives.rs 8de1ae17be7 Rename rustc_contract to contract b2f1b5b4843 Improve contracts intrisics and remove wrapper function 900d21991f3 Separate contract feature gates for the internal machinery 3c987305a09 Desugars contract into the internal AST extensions 0cd98e7eeb8 Add `cast_signed` and `cast_unsigned` methods for `NonZero` types b861e819bfe Express contracts as part of function header and lower it to the contract lang items 4b5a5aa6989 contracts: added lang items that act as hooks for rustc-injected code to invoke. 9130a03fa38 Contracts core intrinsics. 32a2eb06555 Mark `std::fmt::from_fn` as `#[must_use]` 76c4a227353 Rollup merge of #136289 - Pyr0de:oncecell-docs, r=tgross35 19154314fd1 no unsafe pointer and no overflowing_literals in fmt::Display of integers ea88c5f84a4 For NonZero impl macros, give unsigned impls access to the corresponding signed type 3b1968368f2 OnceCell & OnceLock docs: Using (un)initialized consistently a6874f4ca1e std::fs: further simplify dirent64 handling e39a0b26a7b Merge from rustc 4a49a0c399e Docs for f16 and f128: correct a typo and add details d3a623284ec Rollup merge of #136452 - RalfJung:miri-sync, r=RalfJung 9c480135f36 Remove stabilized feature gate b6239637fc3 std: move network code into `sys` 703cbc1fec9 Rollup merge of #136434 - RalfJung:rustc_allowed_through_unstable_modules-deprecation-required, r=compiler-errors 7af9dd25aff Rollup merge of #136283 - hkBst:patch-31, r=workingjubilee 74f272849c8 Rollup merge of #134272 - RalfJung:destabilize-rustc_encodable_decodable, r=oli-obk a58c0451843 Merge from rustc 54a0b27009a rustc_allowed_through_unstable_modules: require deprecation message a120861e34b Rollup merge of #136133 - hkBst:patch-23, r=ibraheemdev 4ad629e9758 uefi: process: Add support for command environment variables 046ce6a1061 Use `widening_mul` 1c4078f12c8 add UnsafeCell direct access APIs c74858a43f2 Rollup merge of #136364 - hkBst:ptr_cmp_docs, r=tgross35 b55be6bc42d Rollup merge of #136360 - slanterns:once_wait, r=tgross35 b2c29a5d3ce Rollup merge of #136307 - WaffleLapkin:minminmin, r=scottmcm bd111f66c41 Rollup merge of #135684 - ranger-ross:mutex-docs, r=joboet 4d54555054f document ptr comparison being by address 322f4ff60ea Fix sentence in process::abort 86eb99c849a More PR feedback 1ad1e30da56 PR feedback 21ff5a9f1e2 Add `unchecked_disjoint_bitor` with fallback intrinsic implementation 7c35620e431 docs: Documented Send and Sync requirements for Mutex + MutexGuard bd42cf90f26 Merge from rustc fdf76cc8147 Rollup merge of #136351 - Darksonn:coerce-pointee-docs, r=compiler-errors c019c23231f Rollup merge of #136163 - uellenberg:driftsort-off-by-one, r=Mark-Simulacrum fed18ca6d6c stabilize `once_wait` f29597fd21e Auto merge of #134424 - 1c3t3a:null-checks, r=saethlin 2db2320e5b6 Add documentation for derive(CoercePointee) d3b13153b26 Insert null checks for pointer dereferences when debug assertions are enabled aa603ac5d92 Update encode_utf16 to mention it is native endian 8c6905a4de2 Update fs.rs 16badee296b Auto merge of #136332 - jhpratt:rollup-aa69d0e, r=jhpratt 28c497cc543 Rollup merge of #136300 - RalfJung:compare-and-swap, r=joboet a5de5134ed8 Rollup merge of #136296 - RalfJung:float-min-max, r=tgross35 ca9639dab13 Rollup merge of #135414 - tgross35:stabilize-const_black_box, r=dtolnay 370a1cdeea7 Merge from rustc b88edf4ecc1 implement all min/max fns in terms of `<`/`is_lt` fcb2bc3cc94 implement unstable `new_range` feature 24bdb9aa495 improve doc tests for (min/max/minmax).* functions f7de368b9dd std::range 137c2bb32b5 Rollup merge of #136288 - joshtriplett:would-you-could-you-with-some-locks--would-you-could-you-in-some-docs, r=m-ou-se 796e5e780fd Rollup merge of #136271 - Sky9x:debug-maybeuninit-footgun, r=tgross35 163f5dd0a3f Rollup merge of #135852 - lukas-code:asyncfn-prelude-core, r=compiler-errors edde199a2aa Rollup merge of #135475 - Ayush1325:uefi-absolute-path, r=jhpratt c31ed471b03 black_box integer-input on fmt benches 10a7afcda8c Auto merge of #134824 - niklasf:int_from_ascii, r=ibraheemdev cea1bedbf46 Improve instant docs 26491184e2e atomic: extend compare_and_swap migration docs 0c79ce207e1 float::min/max: mention the non-determinism around signed 0 b4e2280fef5 Improve documentation for file locking 21622375a4e Merge from rustc 24ff8ae468a Rollup merge of #136259 - hkBst:patch-30, r=thomcc 83aa5c1315a Rollup merge of #136215 - btj:patch-1, r=cuviper 6d7c45f8fd6 Rollup merge of #135847 - edwloef:slice_ptr_rotate_opt, r=scottmcm 819ca901db1 Remove minor future footgun in `impl Debug for MaybeUninit` 3830bbed32e Cleanup docs for Allocator e4ae302d24f add inline attribute and codegen test b4f1712972e split slice::ptr_rotate into three separate algorithms, to hopefully help inlining 963194bd855 Auto merge of #136248 - matthiaskrgr:rollup-leaxgfd, r=matthiaskrgr 506db6f503d Rollup merge of #136092 - tbu-:pr_io_pipe_test, r=joboet 665fab7c016 Auto merge of #136227 - fmease:rollup-ewpvznh, r=fmease 10598dc2e3b Fix off-by-one error causing driftsort to crash f23398091be btree/node.rs: pop_internal_level: does not invalidate other handles 579d90bd9ff Merge from rustc 72aeea30fa0 Simplify Rc::as_ptr docs + typo fix 44051b31651 Rollup merge of #136186 - Ayush1325:uefi-process-args-fix, r=nicholasbishop,Noratrieb c8953bcdc54 Rollup merge of #135625 - c410-f3r:cfg-match-foo-bar-baz, r=tgross35,jhpratt 7276d04619b Allow Rust to use a number of libc filesystem calls dcd657596b0 btree/node.rs: remove incorrect comment from pop_internal_level docs e6a7f5d73d6 Auto merge of #136203 - matthiaskrgr:rollup-1k0f44l, r=matthiaskrgr 7205f0af655 Rollup merge of #136173 - taiki-e:c-char, r=tgross35 0ae2a30dfce Rollup merge of #136071 - wowinter13:clippy-add-diagnostic-items, r=flip1995 e449a6c2eba Rollup merge of #135869 - hkBst:patch-12, r=Noratrieb ced312fce29 Stabilize `get_many_mut` as `get_disjoint_mut` 344f948cf64 uefi: process: Fix args 496fe7162ba Rollup merge of #136012 - hkBst:patch-22, r=workingjubilee,tgross35 7a3a419ca8a Rollup merge of #135886 - hkBst:patch-14, r=workingjubilee d53c0000980 Rollup merge of #135805 - DiuDiu777:master, r=Noratrieb d37ac725dd2 Rollup merge of #135367 - Urgau:unreach_pub-std-3, r=Noratrieb 403b0b39947 Rollup merge of #133829 - GrigorenkoPV:fetch_update_infallible, r=Noratrieb 061edde269f Fix platform-specific doc string for AtomicUsize::from_mut to be platform-independent 527882bf14d Document powf and powi calls that always return 1.0 c4cd0b7c050 Update comments and sort target_arch in c_char_definition b93feb588c2 Stabilize target_feature_11 1056a819cfd Auto merge of #136110 - RalfJung:miri-sync, r=RalfJung f9be93972e7 Stabilize `HashMap::get_many_mut` as `HashMap::get_disjoint_mut` 35704ea4c8d Stabilize `num_midpoint_signed` feature 32749149926 Rollup merge of #135876 - usamoi:mpmc-doc, r=tgross35 f64b962fba0 Rollup merge of #135807 - jhpratt:phantom-variance, r=Amanieu a50e3d7f54a Rollup merge of #135773 - hkBst:patch-10, r=tgross35 63483318baa Clarify WindowsMut (Lending)Iterator 6837e59fd85 Stabilize `const_black_box` fb9d3ac464c Auto merge of #136116 - fmease:rollup-c8pk3mj, r=fmease 67ec627b006 Auto merge of #135937 - bjorn3:separate_coretests_crate, r=jieyouxu,tgross35 5b36cacd712 fix doc for std::sync::mpmc 1f97890ce49 Rollup merge of #136079 - RalfJung:compiler-fence-example, r=jhpratt 87604101dfd Rollup merge of #135635 - tbu-:pr_io_pipe, r=joboet 84e37e67d7a compiler_fence: fix example bcb90340247 Optimize `Rc::<str>::default()` implementation 89d7937a36b Document purpose of closure in from_fn.rs more clearly 68f6b01c245 Auto merge of #136087 - jhpratt:rollup-tam1mzn, r=jhpratt d98d447d2b7 Test pipes also when not running on Windows and Linux simultaneously d1fa0a4fbd4 Update `std::io::{pipe, PipeReader, PipeWriter}` docs the new location 7ce37737631 Move `std::io::pipe` code into its own file 21785685d34 Actually run the bstr test 8033d307f45 Move env modifying tests to a separate integration test fcaf2f1c5f0 Fix for SGX a3e6b238bf3 Fix benchmarking of libstd 2e6b5b9050d Move std::sync unit tests to integration tests d2711596742 Move std::thread_local unit tests to integration tests 7e7ca2b9660 Move std::time unit tests to integration tests 316f77df27a Move std::path unit tests to integration tests 8c02a576d13 Move std::panic unit tests to integration tests 74893de3fef Move std::num unit tests to integration tests a32e504c488 Move std float unit tests to integration tests bac6108c031 Move std::error unit tests to integration tests f7bc549cb3f Move std::env unit tests to integration tests 555025b0c6f Update comment 06ee7516ffb Put all coretests in a separate crate 1396e007c88 reduce `Box::default` stack copies in debug mode 7aec69acb8a Rollup merge of #136019 - scottmcm:alias-unchecked-div, r=Mark-Simulacrum 567ad8ea64d Rollup merge of #133631 - flba-eb:add_nto_qnx71_iosock_support, r=workingjubilee cd30b1eb972 Windows: Test that deleting a running binary fails 063f8c2636a Update platform information for remove_file c3df8206e50 Windows: remove readonly files ddd1a4cecea Merge from rustc 5fe03baa519 Implement phantom variance markers c0037d7ad4d Rollup merge of #135948 - bjorn3:update_emscripten_std_tests, r=Mark-Simulacrum ca5e77e0499 Rollup merge of #134283 - epage:logfile, r=Amanieu 9d4544cc8ca [Clippy] Add vec_reserve & vecdeque_reserve diagnostic items 90506de9204 Rollup merge of #136039 - nvanbenschoten:pin-typo, r=Amanieu af1ba12a51d Rollup merge of #136005 - BLANKatGITHUB:library, r=RalfJung f1213b300c6 Improve and expand documentation of pipes 6c1c3c0bf7c Correct comment for FreeBSD and DragonFly BSD in unix/thread 0285d898938 Rollup merge of #135991 - no1wudi:master, r=thomcc bb0afaa57fe Rollup merge of #135977 - nyurik:fix-fmt-options, r=joboet ff9e88a2097 docs: fix typo in std::pin overview 37370b0c584 Merge from rustc 8ecd2bcf0a9 Rollup merge of #135938 - carlsverre:master, r=joboet cdb3e29386a Rollup merge of #135728 - hkBst:patch-8, r=joboet 773b5d508cb Rollup merge of #135415 - Harshit933:hard-link-error, r=ChrisDenton af788b438df Stabilize `vec_pop_if` 03ab09910c1 fix(libtest): Deprecate '--logfile' 74e2341dc38 Add an `unchecked_div` alias to the `Div<NonZero<_>>` impls eb6fbc8096a Update library/core/src/num/nonzero.rs 92835a3f194 Add `File already exists` error doc to `hard_link` function f0f1a87d800 ports last few library files to new intrinsic style cf546c814bb Rollup merge of #135983 - hkBst:patch-13, r=jhpratt 7edb3047441 Rollup merge of #135956 - GrigorenkoPV:vec_pop_off, r=dtolnay ee9cefa410f Fix set_name in thread mod for NuttX 3620eec3493 add nto80 x86-64 and aarch64 target 9bb1668f214 Add support for QNX 7.1 with io-sock on x64 d6342fa9aba Add new target for supporting Neutrino QNX 6.1 with `io-socket` network stack on aarch64 035c12ec8bf Doc difference between extend and extend_from_slice a274dc05834 Update a bunch of comments from before wasi support was added 558f11a550d Remove a bunch of emscripten test ignores 2b9f32ec29a Fix testing of the standard library with Emscripten 5551cba498d Auto merge of #135978 - matthiaskrgr:rollup-ni16gqr, r=matthiaskrgr b2c0a9ef4e7 Rollup merge of #135890 - GrigorenkoPV:deque-pop-if, r=thomcc 1acbfe7524b Rollup merge of #135489 - RalfJung:TryFromSliceError, r=tgross35 6544b00a8fb Fix `FormattingOptions` instantiation with `Default` 1b48955d367 Auto merge of #135959 - matthiaskrgr:rollup-0jenyfw, r=matthiaskrgr 2f8df6078a7 Rollup merge of #135366 - Urgau:unreach_pub-std-2, r=cuviper 7996d149512 Make `Vec::pop_if` a bit more presentable a2a21f1de2f Rollup merge of #135073 - joshtriplett:bstr, r=BurntSushi 25a698d219d Add memory layout documentation to generic NonZero<T> c5b0f81666b Rollup merge of #135883 - GrigorenkoPV:btree_set_upper_bound_mut, r=tgross35 8bd8c106e94 Implement `AtomicT::update` & `AtomicT::try_update` 85dbbfdff48 Rollup merge of #135856 - fmease:library-mv-obj-save-dyn-compat-ii, r=tgross35 12bfc4e7bf7 Rollup merge of #135837 - ChrisDenton:trunc, r=Noratrieb 23cbfa61496 Implement `VecDeque::pop_front_if` & `VecDeque::pop_back_if` 5a5cbddddb9 Implement `CloneToUninit` for `ByteStr` 7f701724cf5 Remove erroneous `unsafe` in `BTreeSet::upper_bound_mut` 70c35f71879 Add doc aliases for BStr and BString 93da2972cf8 Library: Finalize dyn compatibility renaming f1b7b24d44e Add `AsyncFn*` to core prelude 6ab5ba61e9a Rollup merge of #135821 - hkBst:patch-11, r=ibraheemdev 8ea3470dd75 Rollup merge of #135750 - scottmcm:cma-example, r=cuviper 6ea8945f347 optimize slice::ptr_rotate for compile-time-constant small rotates 84b04a92dfd [cfg_match] Document the use of expressions c55947fa5e9 Remove test panic from File::open cd5dca3ed5c fix OsString::from_encoded_bytes_unchecked description a8ce127e2ee add missing allocator safety in alloc crate 9e9be1932e2 Auto merge of #135224 - wyfo:tls-panic-outline, r=cuviper 465366c7574 Auto merge of #134286 - Urgau:unreach_pub-std, r=ibraheemdev 9e295224a6a Rollup merge of #135741 - bardiharborow:std/net/rfc9637, r=Amanieu 8f124ce2150 Rollup merge of #133695 - x17jiri:hint_likely, r=Amanieu 64f6d4d4203 alloc: add `#![warn(unreachable_pub)]` 9f1e1f2f90b test: add `#![warn(unreachable_pub)]` a1a4f7a5752 proc_macro: add `#![warn(unreachable_pub)]` 7c020ae9a45 core: `#[allow(unreachable_pub)]` on unreachable `pub use` 9412a163d7b core: add `#![warn(unreachable_pub)]` e82f2a31a59 rtstartup: add `#![warn(unreachable_pub)]` 7e3f5d54b07 panic_unwind: add `#![warn(unreachable_pub)]` 9dff2820ffd 1. Removed 'rustc_nounwind' 2. Rewording of comments b3e668cd01d Rollup merge of #135762 - TomFryersMidsummer:patch-1, r=joboet 6982b19d1e4 Rollup merge of #135626 - clubby789:env-note, r=ibraheemdev 150649f77be Correct counting to four in cell module docs 151c72de98d Rollup merge of #135491 - RalfJung:remove-dead-rustc_allowed_through_unstable_modules, r=Mark-Simulacrum d19faac64ad Rollup merge of #135446 - klensy:panic_immediate_abort_ext, r=Mark-Simulacrum 2ab070f4daa Add an example of using `carrying_mul_add` to write wider multiplication 552e6773cb0 Recognise new IPv6 documentation range from RFC9637 0db32633608 Fix whitespace f02e25ecde7 Auto merge of #135714 - rust-lang:cargo_update, r=clubby789 a8c73bd904b document order of items in iterator from drain 5cfbae8e8f5 Auto merge of #134976 - mgsloan:improve-select-nth-unstable-docs, r=ibraheemdev 1591282e846 Auto merge of #135709 - lqd:bring-back-len, r=compiler-errors a0600dba81c Rewrap following accepting review suggestions from @ibraheemdev aa330bd99ef Update library/core/src/slice/mod.rs 44de88ef1b5 Update library/core/src/slice/mod.rs baec7cbb213 Update library/core/src/slice/mod.rs 3cf8967abc5 Update library/core/src/slice/mod.rs d63afbbadb2 Update library/core/src/slice/mod.rs 18b80248051 Update library/core/src/slice/mod.rs ab43bf71397 Update library/core/src/slice/mod.rs db5a4e83ae6 Update library/core/src/slice/mod.rs d714fcb42f4 Update library/core/src/slice/mod.rs 5d51a1c1bc8 Update library/core/src/slice/mod.rs 953b13a9edc cargo update a0babe16715 Revert "Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper" f02ac3b184b `then be` -> `be` based on feedback from @ibraheemdev 76a0bc6c4c9 Merge commit '3383cfbd3572465febc7a8f816a46304373de46a' into sync-from-portable-simd-2025-01-18 852288aff02 re-export `core::iter::FromCoroutine` 2209a2962d4 Rollup merge of #135661 - tgross35:stabilize-float_next_up_down, r=scottmcm c4b0bc2837e Rollup merge of #135583 - NobodyXu:move-pipe-to-io, r=joshtriplett 5cd9dd86a00 Add references to the IEEE functions for `float_next_up_down` e5fcc9c0b76 Stabilize `float_next_up_down` 1284521932c Fix import of pipe in kernel_copy.rs 5e4fcffc97d doc: Point to methods on `Command` as alternatives to `set/remove_var` 805c2dccd44 Rollup merge of #135556 - AeonSolstice:patch-1, r=tgross35 5b7ffd59c43 Rollup merge of #134496 - DiuDiu777:fix-doc, r=ibraheemdev cbe64a01fc5 Rollup merge of #133720 - c410-f3r:cfg-match-foo-bar-baz, r=joshtriplett ef9aea47059 Move `std::pipe::*` into `std::io` 4f467b42ba7 fix typo in library/alloc/src/sync.rs da96665eefc Less unsafe in `dangling`/`without_provenance` d3abf38600a uefi: Implement path 65a01a5f4b1 Auto merge of #135555 - matthiaskrgr:rollup-jnqdbuu, r=matthiaskrgr d9505c70d6c Clarify note in `std::sync::LazyLock` example 21e4a2d669d Rollup merge of #135497 - DJMrTV:master, r=jhpratt 83ed08293cb Export likely(), unlikely() and cold_path() in std::hint fe946414929 fix typo in typenames of pin documentation bb9ef57a909 Rollup merge of #135003 - RalfJung:deprecate-allowed-through-unstable, r=davidtwco 6e419fe7a8c Rollup merge of #132654 - joboet:lazy_main, r=ChrisDenton e3e8b608446 Auto merge of #135525 - jhpratt:rollup-4gu2wpm, r=jhpratt 877f6cf897c Rollup merge of #134678 - zachs18:offset-ptr-update, r=tgross35 c6b3ac166a6 Rollup merge of #134338 - tgross35:overflowing-c-safe-ret, r=bjorn3,antoyo 849de68f9db Rollup merge of #134143 - nyurik:err-nul, r=dtolnay cba1b03c4c3 intrinsics: deprecate calling them via the unstable std::intrinsics path 2a3b9f9605d Update ReadDir::next in std::sys::pal::unix::fs to use `&raw const (*ptr).field` instead of `ptr.offset(...).cast()`. 9415759b85a Update compiler-builtins to 0.1.143 9e11ae06d7e Rollup merge of #135423 - compiler-errors:enforce-const-trait-syntactical, r=oli-obk,RalfJung f29524bd8d6 Enforce syntactical stability of const traits in HIR 4bfbfccb5fb Update compiler-builtins to 0.1.141 b18eda95208 wasi/io: remove dead files bdb206ed163 remove unnecessary rustc_allowed_through_unstable_modules 46700095e23 remove pointless allowed_through_unstable_modules on TryFromSliceError 1089a250343 remove Rustc{En,De}codable from library and compiler a40af1146a7 make rustc_encodable_decodable feature properly unstable 9207ccdd921 add comments explaining main thread identification bb7893c2eb6 std: lazily allocate the main thread handle 7ad0ee7d8f9 Revert "Remove the Arc rt::init allocation for thread info" da43f89db02 Auto merge of #135473 - matthiaskrgr:rollup-ksnst4l, r=matthiaskrgr 5647815cb1d Rollup merge of #135381 - cod10129:vec-splice-doc, r=tgross35 a6fe12e559e Auto merge of #135359 - RalfJung:lang-start-unwind, r=joboet 919b916b23e Auto merge of #135465 - jhpratt:rollup-7p93bct, r=jhpratt 5146a4581f5 Rollup merge of #135393 - Ayush1325:uefi-helper-path, r=thomcc 33d0c87f82c Add another `Vec::splice` example 0c666f9d720 uefi: helpers: Introduce OwnedDevicePath 0537880dc4e further improve panic_immediate_abort by removing rtprintpanic messages 3c898262b72 Rollup merge of #135405 - Ayush1325:path-is-absolute, r=tgross35 6bf6a713d82 path: Move is_absolute check to sys::path 535c131a2c3 Auto merge of #135420 - GuillaumeGomez:rollup-93vepka, r=GuillaumeGomez 185ce5d37ad Auto merge of #135384 - saethlin:inline-copy-from-slice, r=joboet 1aa84ce9770 Update the explanation for why we use box_new in vec! a73d8c4b667 Auto merge of #135402 - matthiaskrgr:rollup-cz7hs13, r=matthiaskrgr 1dc48ed3e0d Omit some more `From` impls to avoid inference failures 51792a48082 Rollup merge of #135379 - steffahn:uniquerc-invariant, r=Mark-Simulacrum f794b72956c Add inherent versions of MaybeUninit methods for slices 3a45a4eb1ed Add #[inline] to copy_from_slice 303e0607772 Auto merge of #135360 - RalfJung:structural-partial-eq, r=compiler-errors 82a0d964348 Make UniqueRc invariant for soundness 9b1aa855cea avoid nesting the user-defined main so deeply on the stack a2eb38a8ae0 use a single large catch_unwind in lang_start cd296bda550 update and clarify StructuralPartialEq docs b90f4f50a8b Rename `pos` to `position` 79d1b07ab32 Convert `struct FromBytesWithNulError` into enum abfb421b3b4 Rollup merge of #135347 - samueltardieu:push-qvyxtxsqyxyr, r=jhpratt 8a581ca8709 Rollup merge of #135324 - Ayush1325:uefi-fs-unsupported, r=joboet 26b3e33a49d Rollup merge of #135236 - scottmcm:more-mcp807-library-updates, r=ChrisDenton 626b75c9284 Support `no_rc`, `no_sync`, and `no_global_oom_handling` e178b996c13 Add `#[cfg(not(test))]` to some impls to work around https://github.com/rust-lang/rust/issues/135100 3b795a30635 Implement `ByteStr` and `ByteString` types d2a7e08319c Improve the safety documentation on new_unchecked 5562e3eda39 Use `NonNull::without_provenance` within the standard library 1c5b11eb90e alloc: remove unsound `IsZero` for raw pointers c0a400e1845 Rollup merge of #134693 - SpriteOvO:proc-macro-use-to-tokens-in-quote, r=tgross35 65debb141be Rollup merge of #132607 - YohDeadfall:pthread-name-fn-with-result, r=tgross35 113f9a457d7 Update a bunch of library types for MCP807 024e87c1e02 Initial fs module for uefi e339830a52e Rollup merge of #134908 - madsmtm:ptr-from_ref-docs, r=ibraheemdev 23cbdb5d6c4 Rollup merge of #134619 - hkBst:patch-7, r=jhpratt fbd1013a4e7 Fix `proc_macro::quote!` for raw ident c91f89602fb Append `TokenTree` with `ToTokens` in `proc_macro::quote!` 88431131a2c Used pthread name functions returning result for FreeBSD and DragonFly 9b9b82a1935 Auto merge of #135268 - pietroalbini:pa-bump-stage0, r=Mark-Simulacrum 0cae6ffb6fd Rollup merge of #135269 - estebank:unneeded-into, r=compiler-errors 91009c36e85 Rollup merge of #135242 - RalfJung:nonnull-provenance, r=jhpratt c4bd937e407 Remove some unnecessary `.into()` calls f63527614d9 fmt 5662ec1f8fa update cfg(bootstrap) f2aeadc0772 update version placeholders 845e44902d3 add missing provenance APIs on NonNull e4396934376 Rollup merge of #135176 - kornelski:env-example, r=cuviper 9f93eda235b Rollup merge of #134389 - rust-wasi-web:condvar-no-threads, r=m-ou-se 743b57e0c3f Rollup merge of #133057 - tisonkun:into-chars, r=Amanieu c3e22fe7795 Outline panicking code for `LocalKey::with` 8628897d12a Avoid naming variables `str` 339a2dc76ff Rollup merge of #135139 - c410-f3r:8-years-rfc, r=jhpratt 7cf409a5b7d Rollup merge of #131830 - hoodmane:emscripten-wasm-eh, r=workingjubilee 3b5d689fec8 More compelling env_clear() examples 484095e7fa3 Rollup merge of #135153 - crystalstall:master, r=workingjubilee 76b384d41d7 Add support for wasm exception handling to Emscripten target 0c09a242f2f chore: remove redundant words in comment 2d2189b7506 Rollup merge of #135111 - tgross35:float-doc-aliases, r=Noratrieb d91ef098887 [generic_assert] Constify methods used by the formatting system 669fed8acb3 Rollup merge of #135121 - okaneco:const_slice_reverse, r=jhpratt 4ada746967e Mark `slice::reverse` unstably const 24ca61e77ac Clarified the documentation on core::iter::from_fn and core::iter::successors 65d0dcd8df1 Rollup merge of #135110 - matthiaskrgr:adler, r=workingjubilee 747526fc059 Rollup merge of #135104 - the8472:disable-in-place-iter-for-flatten, r=Mark-Simulacrum 55c357e2dd1 Rollup merge of #134996 - bdbai:uwp-support, r=jieyouxu,ChrisDenton 5ffa79c0ac0 Add doc aliases for `libm` and IEEE names 594064c0242 library: fix adler{-> 2}.debug 5e20cf6fbae add regression test for unsound Flatten/FlatMap specialization acbb92c21b0 do not in-place-iterate over flatmap/flatten 81e046bad74 Rollup merge of #135091 - workingjubilee:backtrace-0.3.75, r=workingjubilee 22e773a058e Rollup merge of #135070 - klensy:backtrace-deps, r=workingjubilee d59d6ccf103 Rollup merge of #135046 - RalfJung:rustc_box_intrinsic, r=compiler-errors 010824d0035 Rollup merge of #133964 - joboet:select_unpredictable, r=tgross35 13f8d6dbc50 Bump backtrace to 0.3.75 e6ba295a9bc Rollup merge of #133420 - thesummer:rtems-unwind, r=workingjubilee 2f9707577b5 sync to actual dep verions of backtrace 735f9e90dec turn rustc_box into an intrinsic 9a23ebf3f4c Auto merge of #135059 - matthiaskrgr:rollup-0ka9o3h, r=matthiaskrgr 4a71d50df08 Rollup merge of #134241 - liigo:patch-16, r=dtolnay 174456429ba Auto merge of #134692 - GrigorenkoPV:sync_poision, r=tgross35 ee339481ec7 Fix UWP build 953aceec482 Bump backtrace to rust-lang/backtrace-rs@4d7906b 7219780eba4 Auto merge of #122565 - Zoxc:atomic-panic-msg, r=the8472 0ab3dac3cff path in detail a22793a0737 Move some things to `std::sync::poison` and reexport them in `std::sync` 27c2ef23a25 fix doc for missing Box allocator consistency c580f13d89b Auto merge of #135005 - matthiaskrgr:rollup-5ubuitt, r=matthiaskrgr 473e405d358 Rollup merge of #134985 - mgsloan:remove-unnecessary-qualification-in-Ord-trait-docs, r=Noratrieb 44eecab953b Rename the internal simpler `quote` macro to `minimal_quote` 92a0f5b9ce0 Auto merge of #134080 - kleisauke:avoid-lfs64-emscripten, r=Noratrieb f1922549d00 Try to write the panic message with a single `write_all` call ff578a7444e Stabilize const_slice_flatten 0e32305c45a std::fs::DirEntry.metadata(): prefer use of lstat() on Emscripten e21d7001f85 Avoid use of LFS64 symbols on Emscripten 1d06d767d86 Auto merge of #134969 - Marcondiro:master, r=jhpratt,programmerjake 8d8d1ab5e75 Rollup merge of #131439 - mu001999-contrib:cleanup/static-mut, r=estebank 9c387e43f6e Improve `select_nth_unstable` documentation clarity 2f4c9479f60 Remove qualification of `std::cmp::Ordering` in `Ord` doc 44ca9a9da1b Auto merge of #132195 - clarfonthey:bigint-mul, r=scottmcm 663fff5f91b Auto merge of #134966 - matthiaskrgr:rollup-lmhmgsv, r=matthiaskrgr 6e286412535 char to_digit: avoid unnecessary casts to u64 ebe0a39f970 Rollup merge of #134953 - DiuDiu777:unaligned-doc, r=RalfJung 05d409aecb0 Auto merge of #134620 - ChrisDenton:line-writer, r=tgross35 fe9fa091c0d Rollup merge of #134930 - RalfJung:ptr-docs-valid-access, r=jhpratt b590818e284 Rollup merge of #134927 - DaniPopes:const-as_flattened_mut, r=scottmcm cd7dd952e65 fix doc for read write unaligned in zst operation e6cbb9884c5 Auto merge of #134757 - RalfJung:const_swap, r=scottmcm f3b61eb75cb ptr docs: make it clear that we are talking only about memory accesses c2180531193 Make slice::as_flattened_mut unstably const e4bf0b2c8d7 Fix ptr::from_ref documentation example comment 24280da0df3 Rollup merge of #134884 - calciumbe:patch1, r=jieyouxu d22d9cd4b0e Rollup merge of #134870 - geofft:patch-1, r=jhpratt 211f0aac301 fix: typos 93da50afe8e Rollup merge of #134851 - lukas-code:alloc-ffi, r=tgross35 985891839da Fix sentence fragment in `pin` module docs cf7b103c90c docs: inline `alloc::ffi::c_str` types to `alloc::ffi` a552fd31531 Auto merge of #134547 - SUPERCILEX:unify-copy, r=thomcc 5eacc1ec770 Rollup merge of #134832 - tgross35:update-builtins, r=tgross35 b7c05b6b0b9 Tidy up bigint mul methods 61896c646bd Rollup merge of #134823 - chloefeal:fix, r=tgross35,dtolnay 3cb6477c99d Update library/alloc/tests/sort/tests.rs 3fa0bd334f0 Update `compiler-builtins` to 0.1.140 24cacb9c2a9 Implement `int_from_ascii` (#134821) f2b0874f58c Rollup merge of #133663 - scottmcm:carrying_mul_add, r=Amanieu 809cfe5ccfd Override `carrying_mul_add` in cg_llvm 944a0d085b0 Move `{widening, carrying}_mul` to an intrinsic with fallback MIR ff7dd3274c3 Fix typos 8b4329f0c13 Auto merge of #134822 - jieyouxu:rollup-5xuaq82, r=jieyouxu e21e9758e22 Rollup merge of #134819 - ChrisDenton:trunc, r=Mark-Simulacrum 17924ab0222 Rollup merge of #134622 - ChrisDenton:write-file-utf8, r=Mark-Simulacrum 1e681e05edf Rollup merge of #134606 - RalfJung:ptr-copy-docs, r=Mark-Simulacrum 0f9f222a983 Auto merge of #134786 - ChrisDenton:fix-rename-symlink, r=tgross35 3b7acb6b147 Fix renaming symlinks on Windows 050be5afa1d Fix mistake in windows file open dcf8d223e6d Rollup merge of #134791 - notriddle:notriddle/inline-ffi-error-types, r=tgross35 210d040c235 Rollup merge of #134789 - betrusted-io:bump-unwinding-to-0.25.0, r=Mark-Simulacrum 6a86ed7c6cc Rollup merge of #134782 - wtlin1228:docs/iter-rposition, r=Mark-Simulacrum 075f6056ac0 Rollup merge of #134728 - deltragon:barrier-doc, r=tgross35 5f603319705 Rollup merge of #134649 - SUPERCILEX:statx-remember, r=thomcc bcdde83c731 Rollup merge of #134644 - kpreid:duplicates, r=Mark-Simulacrum 5651a28e1c2 Rollup merge of #134379 - bjoernager:slice-as-array, r=dtolnay 7a16d998228 docs: inline `core::ffi::c_str` types to `core::ffi` 80a24fdefb6 docs: inline `std::ffi::c_str` types to `std::ffi` e6d43362543 unwinding: bump version to fix asm 9ea8b0f732e Impl FromIterator for tuples with arity 1-12 3fca93e4a73 Fix formatting a2ae1c6c047 docs: update code example for Iterator#rposition 8b49125d7f7 stabilize const_alloc_layout e02160c4a25 rename typed_swap → typed_swap_nonoverlapping 5b283da67c3 stabilize const_swap 47f50bb1091 Auto merge of #134729 - oliveredget:typo, r=jieyouxu e984c76c349 Auto merge of #134722 - ChrisDenton:trunc, r=Amanieu 774f8087433 Auto merge of #134333 - daxpedda:stdarch-bump, r=daxpedda 3e858a9d32a Fix compilation issues on other unixes cb1b72d99e6 Bump `stdarch` 035687a75ad chore: fix typos 5d20e21efb9 Use scoped threads in `std::sync::Barrier` examples e80cf22041e Windows: Use FILE_ALLOCATION_INFO for truncation ebfa0c1084f Rollup merge of #134689 - RalfJung:ptr-swap-test, r=oli-obk 5988ca95f08 Rollup merge of #134662 - ionicmc-rs:any-safety-docs, r=Amanieu 6bfbfb067d6 core: fix const ptr::swap_nonoverlapping when there are pointers at odd offsets in the type 1421c8733b7 Rollup merge of #134363 - estebank:derive-default, r=SparrowLii 9e289dbd5ea Rollup merge of #134672 - Zalathar:revert-coverage-attr, r=wesleywiser c3988d4fe03 Use `#[derive(Default)]` instead of manually implementing it c5476870276 Revert "Auto merge of #130766 - clarfonthey:stable-coverage-attribute, r=wesleywiser" eb56651bbde Auto merge of #134666 - matthiaskrgr:rollup-whe0chp, r=matthiaskrgr 7f59b6e8703 Auto merge of #131311 - rust-lang:cargo_update, r=clubby789 675a0dc735c Rollup merge of #134642 - kpreid:pointerlike-cell, r=compiler-errors 178224c20f4 Rollup merge of #134583 - Enselic:maybe-uninit-transmute, r=workingjubilee e2723bd9475 Rollup merge of #130289 - intgr-forks:Permissions-readonly-vs-unix-root, r=ChrisDenton 1acf2df67ea Adjust syntax 4bf1dc61521 Fixes safety docs for `dyn Any + Send {+ Sync}` 35382bc9501 Implement `PointerLike` for `isize`, `NonNull`, `Cell`, `UnsafeCell`, and `SyncUnsafeCell`. 4a1f6d7109e Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper 177a2ab4756 docs: Permissions.readonly() also ignores root user special permissions 8198b118e81 Improve prose around `as_slice` example of IterMut a3a6b99125c Specify only that duplicates are discarded, not the order. ac12bfb386b Auto merge of #131193 - EFanZh:asserts-vec-len, r=the8472 b1151c66fa3 Delete `Rvalue::Len` c5f6d826cd3 docs: `transmute<&mut T, &mut MaybeUninit<T>>` is unsound when exposed to safe code d22659c0e48 Impl String::into_chars ad3549bd588 Stabilize `hash_extract_if` 45467334d33 Rollup merge of #134602 - kpreid:pointerlike-doc, r=tgross35 c7e8fb44cdf Fix forgetting to save statx availability on success 07172200a6c Auto merge of #134640 - matthiaskrgr:rollup-xlstm3o, r=matthiaskrgr 28c860b4c8c Document collection `From` and `FromIterator` impls that drop duplicate keys. aed9dc03570 Rollup merge of #134630 - fifty-six:master, r=workingjubilee 5e7cf4f81e0 Auto merge of #130733 - okaneco:is_ascii, r=scottmcm 2c57eaf3e7d cargo update f5201b89fc9 Eliminate redundant statx syscalls 3a79bbe6b81 Rollup merge of #134325 - theemathas:is_null-docs, r=RalfJung feddec9b49f Rollup merge of #131072 - Fulgen301:windows-rename-posix-semantics, r=ChrisDenton 28ac7bfba97 Use `&raw` for `ptr` primitive docs e63eeba1b98 Unify fs::copy and io::copy 7b6a9ccc464 Windows: Use WriteFile to write to a UTF-8 console 2b4c33516bd Avoid short writes in LineWriter 2f63fd886e5 Document CTFE behavior of methods that call is_null 0c3132fcb3c Correctly document is_null CTFE behavior. f719b4e3226 ptr::copy: fix docs for the overlapping case b176a9910ca Rollup merge of #134593 - kornelski:less-unwrap, r=jhpratt d4885751137 Rollup merge of #134579 - hkBst:patch-6, r=jhpratt 9420b21b202 Rollup merge of #134577 - hkBst:patch-5, r=jhpratt b1507559aa1 Rollup merge of #134576 - hkBst:patch-4, r=jhpratt 99b8c86155a Document `PointerLike` implementation restrictions. e0c9b99a164 Less unwrap() in documentation 3392d71fb7b Rollup merge of #123604 - michaelvanstraten:proc_thread_attribute_list, r=ChrisDenton 8fdd27af678 Rollup merge of #134573 - lukas-code:unimpl-dyn-pointerlike, r=compiler-errors 7d1b26a50fd Rollup merge of #134570 - hkBst:patch-3, r=joboet 8476fd227b2 Rollup merge of #134560 - RalfJung:miri-thread-spawn, r=jhpratt dda9903d80a Improve prose around into_slice example of IterMut a32744fcf9f Improve prose around `as_slice` example of Iter bab182f9f90 Improve prose around basic examples of Iter and IterMut 19920a98dac remove reference to dangling from slice::Iter cdbb56c972e fix `PointerLike` docs 6be16279395 unimplement `PointerLike` for trait objects 69e3125711c split up `#[rustc_deny_explicit_impl]` attribute 1f9e0af2898 mri: add track_caller to thread spawning methods for better backtraces 0c5380c426c Rollup merge of #134518 - hltj:typo-fix, r=tgross35 02266003fdf Rollup merge of #132830 - wr7:substr_range_documentation, r=tgross35 7060dcee63c Rollup merge of #126118 - jan-ferdinand:docs_for_vec_set_len, r=the8472 780625e0931 fix typos in the example code in the doc comments of `Ipv4Addr::from_bits()`, `Ipv6Addr::from_bits()` & `Ipv6Addr::to_bits()` 798943c031f Add missing safety descriptions to Arc's 'from_raw','increment_strong_count','decrement_strong_count' d764565c27b build: Update libc version 84dffc2070b Rollup merge of #134490 - hong9lol:typo, r=jhpratt e06b3100397 Rollup merge of #132056 - weiznich:diagnostic_do_not_recommend_final_tests, r=compiler-errors e293151a2bf fix typo in ptr/mod.rs ce47855f6f4 Auto merge of #134443 - joshtriplett:use-field-init-shorthand, r=lqd,tgross35,nnethercote d8624465122 Rollup merge of #134452 - jalil-salame:fix-lazy-cell-docs, r=tgross35 ed1ae716633 Add 'into_array' conversion destructors for 'Box', 'Rc', and 'Arc'; 66f83500c2e Implement Condvar::wait_timeout for targets without threads 721226f31dd Auto merge of #134425 - clubby789:cargo-update, r=jieyouxu 1a49e2a2864 fix(LazyCell): documentation of get[_mut] was wrong cc5a5966ba3 Stabilize `#[diagnostic::do_not_recommend]` c08be9b4a8f Use field init shorthand where possible c3f255c1758 Rollup merge of #134426 - hkBst:patch-3, r=lqd 0452ec570a4 Rollup merge of #133265 - the8472:extract-if-ranges, r=cuviper 3dd9c4fc9df compiler & tools dependencies: Updating allocator-api2 v0.2.20 -> v0.2.21 Updating annotate-snippets v0.11.4 -> v0.11.5 Updating anyhow v1.0.93 -> v1.0.94 Updating bstr v1.11.0 -> v1.11.1 Updating chrono v0.4.38 -> v0.4.39 Updating clap v4.5.21 -> v4.5.23 Updating clap_builder v4.5.21 -> v4.5.23 Updating clap_complete v4.5.38 -> v4.5.39 Updating clap_lex v0.7.3 -> v0.7.4 Updating colored v2.1.0 -> v2.2.0 Updating console v0.15.8 -> v0.15.10 Updating crossbeam-channel v0.5.13 -> v0.5.14 Updating crossbeam-deque v0.8.5 -> v0.8.6 Updating crossbeam-utils v0.8.20 -> v0.8.21 Updating encode_unicode v0.3.6 -> v1.0.0 Updating fastrand v2.2.0 -> v2.3.0 Updating home v0.5.9 -> v0.5.11 Updating js-sys v0.3.74 -> v0.3.76 Updating libc v0.2.167 -> v0.2.168 Updating miniz_oxide v0.8.0 -> v0.8.1 Updating pest v2.7.14 -> v2.7.15 Updating pest_derive v2.7.14 -> v2.7.15 Updating pest_generator v2.7.14 -> v2.7.15 Updating pest_meta v2.7.14 -> v2.7.15 Updating redox_syscall v0.5.7 -> v0.5.8 Updating rustc-stable-hash v0.1.0 -> v0.1.1 Updating rustix v0.38.41 -> v0.38.42 Updating self_cell v1.0.4 -> v1.1.0 Updating semver v1.0.23 -> v1.0.24 Updating serde v1.0.215 -> v1.0.216 Updating serde_derive v1.0.215 -> v1.0.216 Adding thiserror v2.0.7 Adding thiserror-impl v2.0.7 Updating time v0.3.36 -> v0.3.37 Updating time-macros v0.2.18 -> v0.2.19 Updating tokio v1.41.1 -> v1.42.0 Updating wasm-bindgen v0.2.97 -> v0.2.99 Updating wasm-bindgen-backend v0.2.97 -> v0.2.99 Updating wasm-bindgen-macro v0.2.97 -> v0.2.99 Updating wasm-bindgen-macro-support v0.2.97 -> v0.2.99 Updating wasm-bindgen-shared v0.2.97 -> v0.2.99 Updating wasm-encoder v0.221.0 -> v0.221.2 Updating wasmparser v0.221.0 -> v0.221.2 Updating wast v221.0.0 -> v221.0.2 Updating wat v1.221.0 -> v1.221.2 d73b1b021da Auto merge of #130766 - clarfonthey:stable-coverage-attribute, r=wesleywiser b9e462a1953 Fix typo in uint_macros.rs 736211c3da8 Rollup merge of #134202 - nnethercote:rm-existing_doc_keyword, r=GuillaumeGomez 7efcdd17843 Remove `rustc::existing_doc_keyword` lint. 656071aab38 Move `doc(keyword = "while")`. 90348fcf577 Stabilize #[coverage] attribute ec0e91b8979 remove obsolete comment and pub(super) visibility 5968f77838d remove bounds from vec and linkedlist ExtractIf 29d14e102fc Add a range argument to vec.extract_if 6cbb970e579 Rollup merge of #134277 - notriddle:notriddle/inline-into, r=GuillaumeGomez d662587509d Auto merge of #134332 - Zalathar:rollup-oe23hkw, r=Zalathar 4a5a0d689a1 Rollup merge of #134310 - tkr-sh:master, r=Noratrieb 92855d42ff4 Rollup merge of #133406 - EFanZh:lock-value-accessors, r=Noratrieb 0b9d747141d Rollup merge of #130361 - devnexen:sock_cloexec_solaris, r=cuviper 6e144b21413 Auto merge of #133223 - zachs18:uniquerc-impls, r=Noratrieb 79c9aee97ec Asserts the maximum value that can be returned from `Vec::len` c9ef1c2bc5b Auto merge of #134258 - bjorn3:no_public_specialization, r=petrochenkov e87c314124d Rollup merge of #134022 - shahn:doc_clarify_extend_for_tuple_version, r=tgross35 407baa130fd Rollup merge of #133986 - olishmollie:tracking-issue-127154-documentation, r=tgross35 a15b8510505 Correct spelling of CURRENT_RUSTC_VERSION 830c41a3b9a Replace i32 by char in `split_at` & `_unchecked` b0ce62f98d5 Add clarity to the "greater" of `VecDeque::insert` 7e9303973a0 Replace i32 by char to add clarity d2447f75ebe Auto merge of #134296 - matthiaskrgr:rollup-o0sxozj, r=matthiaskrgr 69d3f60506c Add documentation for anonymous pipe module eef21b1d77b Rollup merge of #133942 - BD103:black-box-docs, r=saethlin 50c69ad6111 Rollup merge of #134255 - bjoernager:master, r=Noratrieb 90f93527afa Rollup merge of #134254 - hermit-os:hermit-c_char, r=workingjubilee 77308c25af0 Rollup merge of #134252 - hermit-os:hermit-is_absolute, r=tgross35 5bb7b3b777d rustdoc-search: let From and Into be unboxed fc277ec239c Rollup merge of #134229 - purplesyringa:provenance-docs, r=saethlin 8f229d1c45e Rollup merge of #134140 - compiler-errors:unsafe-binders-ast, r=oli-obk 27f37568893 Remove support for specializing ToString outside the standard library 06ffb2a5c21 Auto merge of #134047 - saethlin:inline-fmt-rt, r=m-ou-se 03089923ff1 Update includes in '/library/core/src/error.rs'; 7b382d49db0 Fix building `std` for Hermit after `c_char` change 17aedf195cb Fix `Path::is_absolute` on Hermit 78a0ffe0586 Reword prelude for AsyncFn stabilization fa1bb78c513 Stabilize async closures c55d1790360 Fix typos in docs on provenance 0a51c5c2509 feat: clarify how to use `black_box()` 5c06504bad2 Add unwrap_unsafe_binder and wrap_unsafe_binder macro operators 04d4cba289b Rollup merge of #134179 - zachs18:align_offset_mut_ptr_doc, r=workingjubilee 9f9501649f6 Rollup merge of #134178 - ehuss:stabilize-2024-prelude, r=amanieu,traviscross,tgross35 80e8c7d9d4f Rollup merge of #134155 - sthibaul:unsafe_op_in_unsafe_fn, r=tgross35 5233a52ed46 Rollup merge of #133859 - bjorn3:move_tests_to_alloctests, r=tgross35 d6354150519 Rollup merge of #122003 - mati865:gnullvm-build-libunwind, r=petrochenkov 6e362c34dcb Stabilize the Rust 2024 prelude da008bb9f17 Auto merge of #134177 - matthiaskrgr:rollup-hgp8q60, r=matthiaskrgr dc27b6e6675 Rollup merge of #133598 - ChayimFriedman2:get-many-mut-detailed-err, r=scottmcm 6f047747190 Rollup merge of #132975 - arichardson:ffi-c-char, r=tgross35 4ab0e8ed9b5 Remove consteval note from <*mut T>::align_offset docs. c58f76c5e3d Rollup merge of #134079 - tbu-:pr_doc_x8_to_from_xe_bytes, r=jhpratt 11af9c6b919 Add a note saying that `{u8,i8}::from_{be,le,ne}_bytes` is meaningless d724d6560bf Forbid unsafe_op_in_unsafe_fn in hurd-specific os and sys files 08a3185c22b Rollup merge of #134116 - RalfJung:const_nonnull_new, r=jhpratt ac7aa894b2c Rollup merge of #134100 - eholk:noop-rustc-const-stable, r=dtolnay 97ff918e4ef Add references to the specific ABI documents c08f8717bfc Remove l4re from the unsigned char operating system list cfdb7c248bd De-duplicate and improve definition of core::ffi::c_char cae4102a69e stabilize const_nonnull_new dd8b372aab3 Rollup merge of #133472 - rust-wasi-web:master, r=joboet f21eb1bbf20 Rollup merge of #133456 - clubby789:cargo-update, r=ChrisDenton c403963c8dc Rollup merge of #133184 - osiewicz:wasm-fix-infinite-loop-in-remove-dir-all, r=Noratrieb d347b65f7bc Remove rustc_const_stable attribute on const NOOP 1f8d8e2ac53 Rollup merge of #134032 - snprajwal:fix-docs, r=joboet 66f11d51ecc core: use public method instead of instrinsic 596fd3559d3 core: improve comments b591b9bb582 Auto merge of #134052 - matthiaskrgr:rollup-puxwqrk, r=matthiaskrgr 948eb05f3d6 Rollup merge of #134050 - RalfJung:miri-sync, r=RalfJung b343c5154f8 Rollup merge of #133880 - ChrisDenton:homedir, r=Mark-Simulacrum eba56285c42 Rollup merge of #133789 - rossmacarthur:then-with-doc-alias, r=Mark-Simulacrum f2f918448ae Switch inline(always) in core/src/fmt/rt.rs to plain inline c95571c6f3e Downgrade cc 7732aee412f Rollup merge of #134013 - BLANKatGITHUB:intrinsic, r=saethlin 37e3ad70e3a Adds new intrinsic declaration 321e15467b6 Rollup merge of #133987 - Will-Low:DefineTlsAcronym, r=workingjubilee fa629100eb6 docs: better examples for `std::ops::ControlFlow` 9351abd146c Merge from rustc 227cb73136a Const-stabilize `str::is_char_boundary` and `str::split_at(_mut)(_checked)`. 5e9d429daf8 Auto merge of #133978 - matthiaskrgr:rollup-6gh1iho,…
8d0206bb68c Auto merge of #136751 - bjorn3:update_rustfmt, r=Mark-Simulacrum 372b6212e4a Auto merge of #136754 - Urgau:rollup-qlkhjqr, r=Urgau 594556dd299 Rollup merge of #136724 - steffahn:asyncfn-non-fundamental, r=compiler-errors 69d386ec244 Rollup merge of #136710 - JakenHerman:jaken/iterator-docs, r=workingjubilee 3d64f4c1ba6 Rollup merge of #136686 - bjoernager:master, r=jhpratt 9e2eb8d4b91 Rollup merge of #136601 - compiler-errors:borrow-null-zst, r=saethlin de555d8a276 Rollup merge of #136213 - erickt:fs, r=Mark-Simulacrum 3bc72bb59f9 Rollup merge of #134679 - ChrisDenton:rm-readonly, r=Mark-Simulacrum 275be806bf5 occured -> occurred c74f8b5fc1f Rustfmt 88ee8a04b47 Document `Sum::sum` returns additive identities for `[]` 1d535de7364 Rollup merge of #136099 - Kijewski:pr-rc-str-default, r=ibraheemdev c6124b4c448 Rollup merge of #135696 - joboet:move_pal_io, r=Noratrieb 2b41365cfca Auto merge of #136713 - matthiaskrgr:rollup-sy6py39, r=matthiaskrgr 95ea59d5173 Make `AsyncFnOnce`, `AsyncFnMut`, `AsyncFn` non-`#[fundamental]` 82e98ea854e Rollup merge of #136682 - ChrisDenton:move-win-proc-tests, r=joboet 20e702ffb2e Rollup merge of #136635 - jieyouxu:base_port, r=joboet f673e1606ed Rollup merge of #136615 - Ayush1325:uefi-net-unsupported, r=joboet 4b3e632673b Rollup merge of #135945 - estebank:useless-parens, r=compiler-errors 0d0527e1702 Rollup merge of #134367 - WaffleLapkin:trait_upcasting_as_a_treat, r=compiler-errors 7dd6829164d std: get rid of `sys_common::io` 9b7104dbe47 std: move `io` module out of `pal` e8e96403b8a Clean up 'HashMap' and 'HashSet' docs; 8f754628013 Rollup merge of #136634 - bjoernager:const-mut-cursor, r=m-ou-se 1ff33ee233d Move two windows process tests to tests/ui fe1439a94eb remove use of `feature(trait_upcasting)` from core tests 4c33132baee Remove some unnecessary parens in `assert!` conditions 10c27803bc3 Rollup merge of #136152 - Urgau:stabilize-map_many_mut, r=joshtriplett f973a52645b Rollup merge of #136630 - jieyouxu:render_tests, r=ChrisDenton bf2eee8a588 Stabilise 'Cursor::{get_mut, set_position}' in 'const' scenarios; c055c57b6f9 tests(std/net): remove outdated `base_port` calculation 0a62a04415e tests(std): don't output to std{out,err} in `test_creation_flags` and `test_proc_thread_attributes` 26037053b33 Auto merge of #136613 - workingjubilee:rollup-ry6rw0m, r=workingjubilee 94b8c8abce3 sys: net: Add UEFI stubs 0e43e9c22ce Rollup merge of #136595 - thaliaarchi:hermit-unreachable-pub, r=Noratrieb ef106388320 Rollup merge of #136566 - hkBst:patch-1, r=scottmcm ccd78f8a0e2 Auto merge of #136409 - TDecking:mul_hi, r=Mark-Simulacrum ae8a4a9d009 Rollup merge of #136555 - cramertj:split_off, r=dtolnay 5792f5cd50b Rollup merge of #136537 - tgross35:update-builtins, r=tgross35 29d0feddcab Rollup merge of #136517 - m4rch3n1ng:inherent-str-constructors, r=jhpratt 48b038cf2af Rollup merge of #136449 - joboet:move_pal_net, r=ChrisDenton a20c46c0a18 Rollup merge of #136418 - Ayush1325:command-env, r=jhpratt b0449f2f6e1 Fix link in from_fn.rs 3dd32ae84d9 Fix unreachable_pub lint for hermit target 08a556e6906 Rollup merge of #136502 - yotamofek:pr/fmt-from-fn-must-use, r=dtolnay 1420e0334e9 Rollup merge of #128045 - pnkfelix:rustc-contracts, r=oli-obk b5db0562096 Add OneSidedRangeBound to eliminate panic in `split_point_of` 3daa09ada6e Rename slice::take methods to split_off d9ad3d612d2 Auto merge of #135760 - scottmcm:disjoint-bitor, r=WaffleLapkin 3e9dee72261 Auto merge of #136534 - jhpratt:rollup-dnz57dq, r=jhpratt f3cc8954938 Auto merge of #136533 - jhpratt:rollup-s0ign8n, r=jhpratt 5880f67026b Update `compiler-builtins` to 0.1.145 c78c36fa474 Rollup merge of #136518 - Urgau:fn_ptr-public-bound, r=Noratrieb 40c37fc3799 Rollup merge of #136511 - joshtriplett:nonzero-cast-signed-unsigned, r=dtolnay 4a1eec8014f Rollup merge of #136479 - RalfJung:dirent64, r=tgross35 0bb9ad7ace0 Rollup merge of #136398 - pitaj:unsafecell_access, r=dtolnay 29498e70b30 Rollup merge of #136334 - ricci009:primitivers, r=tgross35 6e1295bc8c9 Rollup merge of #136167 - pitaj:new_range, r=Nadrieril dbe125183da Rollup merge of #135621 - bjorn3:move_tests_to_stdtests, r=Noratrieb ecfdcb94bc0 Auto merge of #135265 - pascaldekloe:fmt-int-speed, r=tgross35,ChrisDenton ee3eff0675a specify a prim@slice in docs 43ef876e485 implement inherent str constructors c1c78464cdb Add note about `FnPtr` being exposed as public bound 60976d84595 primitive type migration from mod.rs to primitives.rs 8de1ae17be7 Rename rustc_contract to contract b2f1b5b4843 Improve contracts intrisics and remove wrapper function 900d21991f3 Separate contract feature gates for the internal machinery 3c987305a09 Desugars contract into the internal AST extensions 0cd98e7eeb8 Add `cast_signed` and `cast_unsigned` methods for `NonZero` types b861e819bfe Express contracts as part of function header and lower it to the contract lang items 4b5a5aa6989 contracts: added lang items that act as hooks for rustc-injected code to invoke. 9130a03fa38 Contracts core intrinsics. 32a2eb06555 Mark `std::fmt::from_fn` as `#[must_use]` 76c4a227353 Rollup merge of #136289 - Pyr0de:oncecell-docs, r=tgross35 19154314fd1 no unsafe pointer and no overflowing_literals in fmt::Display of integers ea88c5f84a4 For NonZero impl macros, give unsigned impls access to the corresponding signed type 3b1968368f2 OnceCell & OnceLock docs: Using (un)initialized consistently a6874f4ca1e std::fs: further simplify dirent64 handling 4a49a0c399e Docs for f16 and f128: correct a typo and add details d3a623284ec Rollup merge of #136452 - RalfJung:miri-sync, r=RalfJung 9c480135f36 Remove stabilized feature gate b6239637fc3 std: move network code into `sys` 703cbc1fec9 Rollup merge of #136434 - RalfJung:rustc_allowed_through_unstable_modules-deprecation-required, r=compiler-errors 7af9dd25aff Rollup merge of #136283 - hkBst:patch-31, r=workingjubilee 74f272849c8 Rollup merge of #134272 - RalfJung:destabilize-rustc_encodable_decodable, r=oli-obk a58c0451843 Merge from rustc 54a0b27009a rustc_allowed_through_unstable_modules: require deprecation message a120861e34b Rollup merge of #136133 - hkBst:patch-23, r=ibraheemdev 4ad629e9758 uefi: process: Add support for command environment variables 046ce6a1061 Use `widening_mul` 1c4078f12c8 add UnsafeCell direct access APIs c74858a43f2 Rollup merge of #136364 - hkBst:ptr_cmp_docs, r=tgross35 b55be6bc42d Rollup merge of #136360 - slanterns:once_wait, r=tgross35 b2c29a5d3ce Rollup merge of #136307 - WaffleLapkin:minminmin, r=scottmcm bd111f66c41 Rollup merge of #135684 - ranger-ross:mutex-docs, r=joboet 4d54555054f document ptr comparison being by address 322f4ff60ea Fix sentence in process::abort 86eb99c849a More PR feedback 1ad1e30da56 PR feedback 21ff5a9f1e2 Add `unchecked_disjoint_bitor` with fallback intrinsic implementation 7c35620e431 docs: Documented Send and Sync requirements for Mutex + MutexGuard bd42cf90f26 Merge from rustc fdf76cc8147 Rollup merge of #136351 - Darksonn:coerce-pointee-docs, r=compiler-errors c019c23231f Rollup merge of #136163 - uellenberg:driftsort-off-by-one, r=Mark-Simulacrum fed18ca6d6c stabilize `once_wait` f29597fd21e Auto merge of #134424 - 1c3t3a:null-checks, r=saethlin 2db2320e5b6 Add documentation for derive(CoercePointee) d3b13153b26 Insert null checks for pointer dereferences when debug assertions are enabled aa603ac5d92 Update encode_utf16 to mention it is native endian 16badee296b Auto merge of #136332 - jhpratt:rollup-aa69d0e, r=jhpratt 28c497cc543 Rollup merge of #136300 - RalfJung:compare-and-swap, r=joboet a5de5134ed8 Rollup merge of #136296 - RalfJung:float-min-max, r=tgross35 ca9639dab13 Rollup merge of #135414 - tgross35:stabilize-const_black_box, r=dtolnay 370a1cdeea7 Merge from rustc b88edf4ecc1 implement all min/max fns in terms of `<`/`is_lt` fcb2bc3cc94 implement unstable `new_range` feature 24bdb9aa495 improve doc tests for (min/max/minmax).* functions f7de368b9dd std::range 137c2bb32b5 Rollup merge of #136288 - joshtriplett:would-you-could-you-with-some-locks--would-you-could-you-in-some-docs, r=m-ou-se 796e5e780fd Rollup merge of #136271 - Sky9x:debug-maybeuninit-footgun, r=tgross35 163f5dd0a3f Rollup merge of #135852 - lukas-code:asyncfn-prelude-core, r=compiler-errors edde199a2aa Rollup merge of #135475 - Ayush1325:uefi-absolute-path, r=jhpratt c31ed471b03 black_box integer-input on fmt benches 10a7afcda8c Auto merge of #134824 - niklasf:int_from_ascii, r=ibraheemdev 26491184e2e atomic: extend compare_and_swap migration docs 0c79ce207e1 float::min/max: mention the non-determinism around signed 0 b4e2280fef5 Improve documentation for file locking 21622375a4e Merge from rustc 24ff8ae468a Rollup merge of #136259 - hkBst:patch-30, r=thomcc 83aa5c1315a Rollup merge of #136215 - btj:patch-1, r=cuviper 6d7c45f8fd6 Rollup merge of #135847 - edwloef:slice_ptr_rotate_opt, r=scottmcm 819ca901db1 Remove minor future footgun in `impl Debug for MaybeUninit` 3830bbed32e Cleanup docs for Allocator e4ae302d24f add inline attribute and codegen test b4f1712972e split slice::ptr_rotate into three separate algorithms, to hopefully help inlining 963194bd855 Auto merge of #136248 - matthiaskrgr:rollup-leaxgfd, r=matthiaskrgr 506db6f503d Rollup merge of #136092 - tbu-:pr_io_pipe_test, r=joboet 665fab7c016 Auto merge of #136227 - fmease:rollup-ewpvznh, r=fmease 10598dc2e3b Fix off-by-one error causing driftsort to crash f23398091be btree/node.rs: pop_internal_level: does not invalidate other handles 579d90bd9ff Merge from rustc 44051b31651 Rollup merge of #136186 - Ayush1325:uefi-process-args-fix, r=nicholasbishop,Noratrieb c8953bcdc54 Rollup merge of #135625 - c410-f3r:cfg-match-foo-bar-baz, r=tgross35,jhpratt 7276d04619b Allow Rust to use a number of libc filesystem calls dcd657596b0 btree/node.rs: remove incorrect comment from pop_internal_level docs e6a7f5d73d6 Auto merge of #136203 - matthiaskrgr:rollup-1k0f44l, r=matthiaskrgr 7205f0af655 Rollup merge of #136173 - taiki-e:c-char, r=tgross35 0ae2a30dfce Rollup merge of #136071 - wowinter13:clippy-add-diagnostic-items, r=flip1995 e449a6c2eba Rollup merge of #135869 - hkBst:patch-12, r=Noratrieb 344f948cf64 uefi: process: Fix args 496fe7162ba Rollup merge of #136012 - hkBst:patch-22, r=workingjubilee,tgross35 7a3a419ca8a Rollup merge of #135886 - hkBst:patch-14, r=workingjubilee d53c0000980 Rollup merge of #135805 - DiuDiu777:master, r=Noratrieb d37ac725dd2 Rollup merge of #135367 - Urgau:unreach_pub-std-3, r=Noratrieb 403b0b39947 Rollup merge of #133829 - GrigorenkoPV:fetch_update_infallible, r=Noratrieb 061edde269f Fix platform-specific doc string for AtomicUsize::from_mut to be platform-independent 527882bf14d Document powf and powi calls that always return 1.0 c4cd0b7c050 Update comments and sort target_arch in c_char_definition 1056a819cfd Auto merge of #136110 - RalfJung:miri-sync, r=RalfJung f9be93972e7 Stabilize `HashMap::get_many_mut` as `HashMap::get_disjoint_mut` 32749149926 Rollup merge of #135876 - usamoi:mpmc-doc, r=tgross35 f64b962fba0 Rollup merge of #135807 - jhpratt:phantom-variance, r=Amanieu a50e3d7f54a Rollup merge of #135773 - hkBst:patch-10, r=tgross35 63483318baa Clarify WindowsMut (Lending)Iterator 6837e59fd85 Stabilize `const_black_box` fb9d3ac464c Auto merge of #136116 - fmease:rollup-c8pk3mj, r=fmease 67ec627b006 Auto merge of #135937 - bjorn3:separate_coretests_crate, r=jieyouxu,tgross35 5b36cacd712 fix doc for std::sync::mpmc 1f97890ce49 Rollup merge of #136079 - RalfJung:compiler-fence-example, r=jhpratt 87604101dfd Rollup merge of #135635 - tbu-:pr_io_pipe, r=joboet 84e37e67d7a compiler_fence: fix example bcb90340247 Optimize `Rc::<str>::default()` implementation 89d7937a36b Document purpose of closure in from_fn.rs more clearly 68f6b01c245 Auto merge of #136087 - jhpratt:rollup-tam1mzn, r=jhpratt d98d447d2b7 Test pipes also when not running on Windows and Linux simultaneously d1fa0a4fbd4 Update `std::io::{pipe, PipeReader, PipeWriter}` docs the new location 7ce37737631 Move `std::io::pipe` code into its own file 21785685d34 Actually run the bstr test 8033d307f45 Move env modifying tests to a separate integration test fcaf2f1c5f0 Fix for SGX a3e6b238bf3 Fix benchmarking of libstd 2e6b5b9050d Move std::sync unit tests to integration tests d2711596742 Move std::thread_local unit tests to integration tests 7e7ca2b9660 Move std::time unit tests to integration tests 316f77df27a Move std::path unit tests to integration tests 8c02a576d13 Move std::panic unit tests to integration tests 74893de3fef Move std::num unit tests to integration tests a32e504c488 Move std float unit tests to integration tests bac6108c031 Move std::error unit tests to integration tests f7bc549cb3f Move std::env unit tests to integration tests 555025b0c6f Update comment 06ee7516ffb Put all coretests in a separate crate 7aec69acb8a Rollup merge of #136019 - scottmcm:alias-unchecked-div, r=Mark-Simulacrum 567ad8ea64d Rollup merge of #133631 - flba-eb:add_nto_qnx71_iosock_support, r=workingjubilee cd30b1eb972 Windows: Test that deleting a running binary fails 063f8c2636a Update platform information for remove_file c3df8206e50 Windows: remove readonly files ddd1a4cecea Merge from rustc 5fe03baa519 Implement phantom variance markers c0037d7ad4d Rollup merge of #135948 - bjorn3:update_emscripten_std_tests, r=Mark-Simulacrum ca5e77e0499 Rollup merge of #134283 - epage:logfile, r=Amanieu 9d4544cc8ca [Clippy] Add vec_reserve & vecdeque_reserve diagnostic items 90506de9204 Rollup merge of #136039 - nvanbenschoten:pin-typo, r=Amanieu af1ba12a51d Rollup merge of #136005 - BLANKatGITHUB:library, r=RalfJung f1213b300c6 Improve and expand documentation of pipes 0285d898938 Rollup merge of #135991 - no1wudi:master, r=thomcc bb0afaa57fe Rollup merge of #135977 - nyurik:fix-fmt-options, r=joboet ff9e88a2097 docs: fix typo in std::pin overview 37370b0c584 Merge from rustc 8ecd2bcf0a9 Rollup merge of #135938 - carlsverre:master, r=joboet cdb3e29386a Rollup merge of #135728 - hkBst:patch-8, r=joboet 773b5d508cb Rollup merge of #135415 - Harshit933:hard-link-error, r=ChrisDenton 03ab09910c1 fix(libtest): Deprecate '--logfile' 74e2341dc38 Add an `unchecked_div` alias to the `Div<NonZero<_>>` impls eb6fbc8096a Update library/core/src/num/nonzero.rs 92835a3f194 Add `File already exists` error doc to `hard_link` function f0f1a87d800 ports last few library files to new intrinsic style cf546c814bb Rollup merge of #135983 - hkBst:patch-13, r=jhpratt 7edb3047441 Rollup merge of #135956 - GrigorenkoPV:vec_pop_off, r=dtolnay ee9cefa410f Fix set_name in thread mod for NuttX 3620eec3493 add nto80 x86-64 and aarch64 target 9bb1668f214 Add support for QNX 7.1 with io-sock on x64 d6342fa9aba Add new target for supporting Neutrino QNX 6.1 with `io-socket` network stack on aarch64 035c12ec8bf Doc difference between extend and extend_from_slice a274dc05834 Update a bunch of comments from before wasi support was added 558f11a550d Remove a bunch of emscripten test ignores 2b9f32ec29a Fix testing of the standard library with Emscripten 5551cba498d Auto merge of #135978 - matthiaskrgr:rollup-ni16gqr, r=matthiaskrgr b2c0a9ef4e7 Rollup merge of #135890 - GrigorenkoPV:deque-pop-if, r=thomcc 1acbfe7524b Rollup merge of #135489 - RalfJung:TryFromSliceError, r=tgross35 6544b00a8fb Fix `FormattingOptions` instantiation with `Default` 1b48955d367 Auto merge of #135959 - matthiaskrgr:rollup-0jenyfw, r=matthiaskrgr 2f8df6078a7 Rollup merge of #135366 - Urgau:unreach_pub-std-2, r=cuviper 7996d149512 Make `Vec::pop_if` a bit more presentable a2a21f1de2f Rollup merge of #135073 - joshtriplett:bstr, r=BurntSushi 25a698d219d Add memory layout documentation to generic NonZero<T> c5b0f81666b Rollup merge of #135883 - GrigorenkoPV:btree_set_upper_bound_mut, r=tgross35 8bd8c106e94 Implement `AtomicT::update` & `AtomicT::try_update` 85dbbfdff48 Rollup merge of #135856 - fmease:library-mv-obj-save-dyn-compat-ii, r=tgross35 12bfc4e7bf7 Rollup merge of #135837 - ChrisDenton:trunc, r=Noratrieb 23cbfa61496 Implement `VecDeque::pop_front_if` & `VecDeque::pop_back_if` 5a5cbddddb9 Implement `CloneToUninit` for `ByteStr` 7f701724cf5 Remove erroneous `unsafe` in `BTreeSet::upper_bound_mut` 70c35f71879 Add doc aliases for BStr and BString 93da2972cf8 Library: Finalize dyn compatibility renaming f1b7b24d44e Add `AsyncFn*` to core prelude 6ab5ba61e9a Rollup merge of #135821 - hkBst:patch-11, r=ibraheemdev 8ea3470dd75 Rollup merge of #135750 - scottmcm:cma-example, r=cuviper 6ea8945f347 optimize slice::ptr_rotate for compile-time-constant small rotates 84b04a92dfd [cfg_match] Document the use of expressions c55947fa5e9 Remove test panic from File::open cd5dca3ed5c fix OsString::from_encoded_bytes_unchecked description a8ce127e2ee add missing allocator safety in alloc crate 9e9be1932e2 Auto merge of #135224 - wyfo:tls-panic-outline, r=cuviper 465366c7574 Auto merge of #134286 - Urgau:unreach_pub-std, r=ibraheemdev 9e295224a6a Rollup merge of #135741 - bardiharborow:std/net/rfc9637, r=Amanieu 8f124ce2150 Rollup merge of #133695 - x17jiri:hint_likely, r=Amanieu 64f6d4d4203 alloc: add `#![warn(unreachable_pub)]` 9f1e1f2f90b test: add `#![warn(unreachable_pub)]` a1a4f7a5752 proc_macro: add `#![warn(unreachable_pub)]` 7c020ae9a45 core: `#[allow(unreachable_pub)]` on unreachable `pub use` 9412a163d7b core: add `#![warn(unreachable_pub)]` e82f2a31a59 rtstartup: add `#![warn(unreachable_pub)]` 7e3f5d54b07 panic_unwind: add `#![warn(unreachable_pub)]` 9dff2820ffd 1. Removed 'rustc_nounwind' 2. Rewording of comments b3e668cd01d Rollup merge of #135762 - TomFryersMidsummer:patch-1, r=joboet 6982b19d1e4 Rollup merge of #135626 - clubby789:env-note, r=ibraheemdev 150649f77be Correct counting to four in cell module docs 151c72de98d Rollup merge of #135491 - RalfJung:remove-dead-rustc_allowed_through_unstable_modules, r=Mark-Simulacrum d19faac64ad Rollup merge of #135446 - klensy:panic_immediate_abort_ext, r=Mark-Simulacrum 2ab070f4daa Add an example of using `carrying_mul_add` to write wider multiplication 552e6773cb0 Recognise new IPv6 documentation range from RFC9637 0db32633608 Fix whitespace f02e25ecde7 Auto merge of #135714 - rust-lang:cargo_update, r=clubby789 a8c73bd904b document order of items in iterator from drain 5cfbae8e8f5 Auto merge of #134976 - mgsloan:improve-select-nth-unstable-docs, r=ibraheemdev 1591282e846 Auto merge of #135709 - lqd:bring-back-len, r=compiler-errors a0600dba81c Rewrap following accepting review suggestions from @ibraheemdev aa330bd99ef Update library/core/src/slice/mod.rs 44de88ef1b5 Update library/core/src/slice/mod.rs baec7cbb213 Update library/core/src/slice/mod.rs 3cf8967abc5 Update library/core/src/slice/mod.rs d63afbbadb2 Update library/core/src/slice/mod.rs 18b80248051 Update library/core/src/slice/mod.rs ab43bf71397 Update library/core/src/slice/mod.rs db5a4e83ae6 Update library/core/src/slice/mod.rs d714fcb42f4 Update library/core/src/slice/mod.rs 5d51a1c1bc8 Update library/core/src/slice/mod.rs 953b13a9edc cargo update a0babe16715 Revert "Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper" f02ac3b184b `then be` -> `be` based on feedback from @ibraheemdev 2209a2962d4 Rollup merge of #135661 - tgross35:stabilize-float_next_up_down, r=scottmcm c4b0bc2837e Rollup merge of #135583 - NobodyXu:move-pipe-to-io, r=joshtriplett 5cd9dd86a00 Add references to the IEEE functions for `float_next_up_down` e5fcc9c0b76 Stabilize `float_next_up_down` 1284521932c Fix import of pipe in kernel_copy.rs 5e4fcffc97d doc: Point to methods on `Command` as alternatives to `set/remove_var` 805c2dccd44 Rollup merge of #135556 - AeonSolstice:patch-1, r=tgross35 5b7ffd59c43 Rollup merge of #134496 - DiuDiu777:fix-doc, r=ibraheemdev cbe64a01fc5 Rollup merge of #133720 - c410-f3r:cfg-match-foo-bar-baz, r=joshtriplett ef9aea47059 Move `std::pipe::*` into `std::io` 4f467b42ba7 fix typo in library/alloc/src/sync.rs da96665eefc Less unsafe in `dangling`/`without_provenance` d3abf38600a uefi: Implement path 65a01a5f4b1 Auto merge of #135555 - matthiaskrgr:rollup-jnqdbuu, r=matthiaskrgr d9505c70d6c Clarify note in `std::sync::LazyLock` example 21e4a2d669d Rollup merge of #135497 - DJMrTV:master, r=jhpratt 83ed08293cb Export likely(), unlikely() and cold_path() in std::hint fe946414929 fix typo in typenames of pin documentation bb9ef57a909 Rollup merge of #135003 - RalfJung:deprecate-allowed-through-unstable, r=davidtwco 6e419fe7a8c Rollup merge of #132654 - joboet:lazy_main, r=ChrisDenton e3e8b608446 Auto merge of #135525 - jhpratt:rollup-4gu2wpm, r=jhpratt 877f6cf897c Rollup merge of #134678 - zachs18:offset-ptr-update, r=tgross35 c6b3ac166a6 Rollup merge of #134338 - tgross35:overflowing-c-safe-ret, r=bjorn3,antoyo 849de68f9db Rollup merge of #134143 - nyurik:err-nul, r=dtolnay cba1b03c4c3 intrinsics: deprecate calling them via the unstable std::intrinsics path 2a3b9f9605d Update ReadDir::next in std::sys::pal::unix::fs to use `&raw const (*ptr).field` instead of `ptr.offset(...).cast()`. 9415759b85a Update compiler-builtins to 0.1.143 9e11ae06d7e Rollup merge of #135423 - compiler-errors:enforce-const-trait-syntactical, r=oli-obk,RalfJung f29524bd8d6 Enforce syntactical stability of const traits in HIR 4bfbfccb5fb Update compiler-builtins to 0.1.141 b18eda95208 wasi/io: remove dead files bdb206ed163 remove unnecessary rustc_allowed_through_unstable_modules 46700095e23 remove pointless allowed_through_unstable_modules on TryFromSliceError 1089a250343 remove Rustc{En,De}codable from library and compiler a40af1146a7 make rustc_encodable_decodable feature properly unstable 9207ccdd921 add comments explaining main thread identification bb7893c2eb6 std: lazily allocate the main thread handle 7ad0ee7d8f9 Revert "Remove the Arc rt::init allocation for thread info" da43f89db02 Auto merge of #135473 - matthiaskrgr:rollup-ksnst4l, r=matthiaskrgr 5647815cb1d Rollup merge of #135381 - cod10129:vec-splice-doc, r=tgross35 a6fe12e559e Auto merge of #135359 - RalfJung:lang-start-unwind, r=joboet 919b916b23e Auto merge of #135465 - jhpratt:rollup-7p93bct, r=jhpratt 5146a4581f5 Rollup merge of #135393 - Ayush1325:uefi-helper-path, r=thomcc 33d0c87f82c Add another `Vec::splice` example 0c666f9d720 uefi: helpers: Introduce OwnedDevicePath 0537880dc4e further improve panic_immediate_abort by removing rtprintpanic messages 3c898262b72 Rollup merge of #135405 - Ayush1325:path-is-absolute, r=tgross35 6bf6a713d82 path: Move is_absolute check to sys::path 535c131a2c3 Auto merge of #135420 - GuillaumeGomez:rollup-93vepka, r=GuillaumeGomez 185ce5d37ad Auto merge of #135384 - saethlin:inline-copy-from-slice, r=joboet 1aa84ce9770 Update the explanation for why we use box_new in vec! a73d8c4b667 Auto merge of #135402 - matthiaskrgr:rollup-cz7hs13, r=matthiaskrgr 1dc48ed3e0d Omit some more `From` impls to avoid inference failures 51792a48082 Rollup merge of #135379 - steffahn:uniquerc-invariant, r=Mark-Simulacrum f794b72956c Add inherent versions of MaybeUninit methods for slices 3a45a4eb1ed Add #[inline] to copy_from_slice 303e0607772 Auto merge of #135360 - RalfJung:structural-partial-eq, r=compiler-errors 82a0d964348 Make UniqueRc invariant for soundness 9b1aa855cea avoid nesting the user-defined main so deeply on the stack a2eb38a8ae0 use a single large catch_unwind in lang_start cd296bda550 update and clarify StructuralPartialEq docs b90f4f50a8b Rename `pos` to `position` 79d1b07ab32 Convert `struct FromBytesWithNulError` into enum abfb421b3b4 Rollup merge of #135347 - samueltardieu:push-qvyxtxsqyxyr, r=jhpratt 8a581ca8709 Rollup merge of #135324 - Ayush1325:uefi-fs-unsupported, r=joboet 26b3e33a49d Rollup merge of #135236 - scottmcm:more-mcp807-library-updates, r=ChrisDenton 626b75c9284 Support `no_rc`, `no_sync`, and `no_global_oom_handling` e178b996c13 Add `#[cfg(not(test))]` to some impls to work around https://github.com/rust-lang/rust/issues/135100 3b795a30635 Implement `ByteStr` and `ByteString` types d2a7e08319c Improve the safety documentation on new_unchecked 5562e3eda39 Use `NonNull::without_provenance` within the standard library 1c5b11eb90e alloc: remove unsound `IsZero` for raw pointers c0a400e1845 Rollup merge of #134693 - SpriteOvO:proc-macro-use-to-tokens-in-quote, r=tgross35 65debb141be Rollup merge of #132607 - YohDeadfall:pthread-name-fn-with-result, r=tgross35 113f9a457d7 Update a bunch of library types for MCP807 024e87c1e02 Initial fs module for uefi e339830a52e Rollup merge of #134908 - madsmtm:ptr-from_ref-docs, r=ibraheemdev 23cbdb5d6c4 Rollup merge of #134619 - hkBst:patch-7, r=jhpratt fbd1013a4e7 Fix `proc_macro::quote!` for raw ident c91f89602fb Append `TokenTree` with `ToTokens` in `proc_macro::quote!` 88431131a2c Used pthread name functions returning result for FreeBSD and DragonFly 9b9b82a1935 Auto merge of #135268 - pietroalbini:pa-bump-stage0, r=Mark-Simulacrum 0cae6ffb6fd Rollup merge of #135269 - estebank:unneeded-into, r=compiler-errors 91009c36e85 Rollup merge of #135242 - RalfJung:nonnull-provenance, r=jhpratt c4bd937e407 Remove some unnecessary `.into()` calls f63527614d9 fmt 5662ec1f8fa update cfg(bootstrap) f2aeadc0772 update version placeholders 845e44902d3 add missing provenance APIs on NonNull e4396934376 Rollup merge of #135176 - kornelski:env-example, r=cuviper 9f93eda235b Rollup merge of #134389 - rust-wasi-web:condvar-no-threads, r=m-ou-se 743b57e0c3f Rollup merge of #133057 - tisonkun:into-chars, r=Amanieu c3e22fe7795 Outline panicking code for `LocalKey::with` 8628897d12a Avoid naming variables `str` 339a2dc76ff Rollup merge of #135139 - c410-f3r:8-years-rfc, r=jhpratt 7cf409a5b7d Rollup merge of #131830 - hoodmane:emscripten-wasm-eh, r=workingjubilee 3b5d689fec8 More compelling env_clear() examples 484095e7fa3 Rollup merge of #135153 - crystalstall:master, r=workingjubilee 76b384d41d7 Add support for wasm exception handling to Emscripten target 0c09a242f2f chore: remove redundant words in comment 2d2189b7506 Rollup merge of #135111 - tgross35:float-doc-aliases, r=Noratrieb d91ef098887 [generic_assert] Constify methods used by the formatting system 669fed8acb3 Rollup merge of #135121 - okaneco:const_slice_reverse, r=jhpratt 4ada746967e Mark `slice::reverse` unstably const 24ca61e77ac Clarified the documentation on core::iter::from_fn and core::iter::successors 65d0dcd8df1 Rollup merge of #135110 - matthiaskrgr:adler, r=workingjubilee 747526fc059 Rollup merge of #135104 - the8472:disable-in-place-iter-for-flatten, r=Mark-Simulacrum 55c357e2dd1 Rollup merge of #134996 - bdbai:uwp-support, r=jieyouxu,ChrisDenton 5ffa79c0ac0 Add doc aliases for `libm` and IEEE names 594064c0242 library: fix adler{-> 2}.debug 5e20cf6fbae add regression test for unsound Flatten/FlatMap specialization acbb92c21b0 do not in-place-iterate over flatmap/flatten 81e046bad74 Rollup merge of #135091 - workingjubilee:backtrace-0.3.75, r=workingjubilee 22e773a058e Rollup merge of #135070 - klensy:backtrace-deps, r=workingjubilee d59d6ccf103 Rollup merge of #135046 - RalfJung:rustc_box_intrinsic, r=compiler-errors 010824d0035 Rollup merge of #133964 - joboet:select_unpredictable, r=tgross35 13f8d6dbc50 Bump backtrace to 0.3.75 e6ba295a9bc Rollup merge of #133420 - thesummer:rtems-unwind, r=workingjubilee 2f9707577b5 sync to actual dep verions of backtrace 735f9e90dec turn rustc_box into an intrinsic 9a23ebf3f4c Auto merge of #135059 - matthiaskrgr:rollup-0ka9o3h, r=matthiaskrgr 4a71d50df08 Rollup merge of #134241 - liigo:patch-16, r=dtolnay 174456429ba Auto merge of #134692 - GrigorenkoPV:sync_poision, r=tgross35 ee339481ec7 Fix UWP build 953aceec482 Bump backtrace to rust-lang/backtrace-rs@4d7906b 7219780eba4 Auto merge of #122565 - Zoxc:atomic-panic-msg, r=the8472 0ab3dac3cff path in detail a22793a0737 Move some things to `std::sync::poison` and reexport them in `std::sync` 27c2ef23a25 fix doc for missing Box allocator consistency c580f13d89b Auto merge of #135005 - matthiaskrgr:rollup-5ubuitt, r=matthiaskrgr 473e405d358 Rollup merge of #134985 - mgsloan:remove-unnecessary-qualification-in-Ord-trait-docs, r=Noratrieb 44eecab953b Rename the internal simpler `quote` macro to `minimal_quote` 92a0f5b9ce0 Auto merge of #134080 - kleisauke:avoid-lfs64-emscripten, r=Noratrieb f1922549d00 Try to write the panic message with a single `write_all` call 0e32305c45a std::fs::DirEntry.metadata(): prefer use of lstat() on Emscripten e21d7001f85 Avoid use of LFS64 symbols on Emscripten 1d06d767d86 Auto merge of #134969 - Marcondiro:master, r=jhpratt,programmerjake 8d8d1ab5e75 Rollup merge of #131439 - mu001999-contrib:cleanup/static-mut, r=estebank 9c387e43f6e Improve `select_nth_unstable` documentation clarity 2f4c9479f60 Remove qualification of `std::cmp::Ordering` in `Ord` doc 44ca9a9da1b Auto merge of #132195 - clarfonthey:bigint-mul, r=scottmcm 663fff5f91b Auto merge of #134966 - matthiaskrgr:rollup-lmhmgsv, r=matthiaskrgr 6e286412535 char to_digit: avoid unnecessary casts to u64 ebe0a39f970 Rollup merge of #134953 - DiuDiu777:unaligned-doc, r=RalfJung 05d409aecb0 Auto merge of #134620 - ChrisDenton:line-writer, r=tgross35 fe9fa091c0d Rollup merge of #134930 - RalfJung:ptr-docs-valid-access, r=jhpratt b590818e284 Rollup merge of #134927 - DaniPopes:const-as_flattened_mut, r=scottmcm cd7dd952e65 fix doc for read write unaligned in zst operation e6cbb9884c5 Auto merge of #134757 - RalfJung:const_swap, r=scottmcm f3b61eb75cb ptr docs: make it clear that we are talking only about memory accesses c2180531193 Make slice::as_flattened_mut unstably const e4bf0b2c8d7 Fix ptr::from_ref documentation example comment 24280da0df3 Rollup merge of #134884 - calciumbe:patch1, r=jieyouxu d22d9cd4b0e Rollup merge of #134870 - geofft:patch-1, r=jhpratt 211f0aac301 fix: typos 93da50afe8e Rollup merge of #134851 - lukas-code:alloc-ffi, r=tgross35 985891839da Fix sentence fragment in `pin` module docs cf7b103c90c docs: inline `alloc::ffi::c_str` types to `alloc::ffi` a552fd31531 Auto merge of #134547 - SUPERCILEX:unify-copy, r=thomcc 5eacc1ec770 Rollup merge of #134832 - tgross35:update-builtins, r=tgross35 b7c05b6b0b9 Tidy up bigint mul methods 61896c646bd Rollup merge of #134823 - chloefeal:fix, r=tgross35,dtolnay 3cb6477c99d Update library/alloc/tests/sort/tests.rs 3fa0bd334f0 Update `compiler-builtins` to 0.1.140 24cacb9c2a9 Implement `int_from_ascii` (#134821) f2b0874f58c Rollup merge of #133663 - scottmcm:carrying_mul_add, r=Amanieu 809cfe5ccfd Override `carrying_mul_add` in cg_llvm 944a0d085b0 Move `{widening, carrying}_mul` to an intrinsic with fallback MIR ff7dd3274c3 Fix typos 8b4329f0c13 Auto merge of #134822 - jieyouxu:rollup-5xuaq82, r=jieyouxu e21e9758e22 Rollup merge of #134819 - ChrisDenton:trunc, r=Mark-Simulacrum 17924ab0222 Rollup merge of #134622 - ChrisDenton:write-file-utf8, r=Mark-Simulacrum 1e681e05edf Rollup merge of #134606 - RalfJung:ptr-copy-docs, r=Mark-Simulacrum 0f9f222a983 Auto merge of #134786 - ChrisDenton:fix-rename-symlink, r=tgross35 3b7acb6b147 Fix renaming symlinks on Windows 050be5afa1d Fix mistake in windows file open dcf8d223e6d Rollup merge of #134791 - notriddle:notriddle/inline-ffi-error-types, r=tgross35 210d040c235 Rollup merge of #134789 - betrusted-io:bump-unwinding-to-0.25.0, r=Mark-Simulacrum 6a86ed7c6cc Rollup merge of #134782 - wtlin1228:docs/iter-rposition, r=Mark-Simulacrum 075f6056ac0 Rollup merge of #134728 - deltragon:barrier-doc, r=tgross35 5f603319705 Rollup merge of #134649 - SUPERCILEX:statx-remember, r=thomcc bcdde83c731 Rollup merge of #134644 - kpreid:duplicates, r=Mark-Simulacrum 5651a28e1c2 Rollup merge of #134379 - bjoernager:slice-as-array, r=dtolnay 7a16d998228 docs: inline `core::ffi::c_str` types to `core::ffi` 80a24fdefb6 docs: inline `std::ffi::c_str` types to `std::ffi` e6d43362543 unwinding: bump version to fix asm 9ea8b0f732e Impl FromIterator for tuples with arity 1-12 3fca93e4a73 Fix formatting a2ae1c6c047 docs: update code example for Iterator#rposition 8b49125d7f7 stabilize const_alloc_layout e02160c4a25 rename typed_swap → typed_swap_nonoverlapping 5b283da67c3 stabilize const_swap 47f50bb1091 Auto merge of #134729 - oliveredget:typo, r=jieyouxu e984c76c349 Auto merge of #134722 - ChrisDenton:trunc, r=Amanieu 774f8087433 Auto merge of #134333 - daxpedda:stdarch-bump, r=daxpedda 3e858a9d32a Fix compilation issues on other unixes cb1b72d99e6 Bump `stdarch` 035687a75ad chore: fix typos 5d20e21efb9 Use scoped threads in `std::sync::Barrier` examples e80cf22041e Windows: Use FILE_ALLOCATION_INFO for truncation ebfa0c1084f Rollup merge of #134689 - RalfJung:ptr-swap-test, r=oli-obk 5988ca95f08 Rollup merge of #134662 - ionicmc-rs:any-safety-docs, r=Amanieu 6bfbfb067d6 core: fix const ptr::swap_nonoverlapping when there are pointers at odd offsets in the type 1421c8733b7 Rollup merge of #134363 - estebank:derive-default, r=SparrowLii 9e289dbd5ea Rollup merge of #134672 - Zalathar:revert-coverage-attr, r=wesleywiser c3988d4fe03 Use `#[derive(Default)]` instead of manually implementing it c5476870276 Revert "Auto merge of #130766 - clarfonthey:stable-coverage-attribute, r=wesleywiser" eb56651bbde Auto merge of #134666 - matthiaskrgr:rollup-whe0chp, r=matthiaskrgr 7f59b6e8703 Auto merge of #131311 - rust-lang:cargo_update, r=clubby789 675a0dc735c Rollup merge of #134642 - kpreid:pointerlike-cell, r=compiler-errors 178224c20f4 Rollup merge of #134583 - Enselic:maybe-uninit-transmute, r=workingjubilee e2723bd9475 Rollup merge of #130289 - intgr-forks:Permissions-readonly-vs-unix-root, r=ChrisDenton 1acf2df67ea Adjust syntax 4bf1dc61521 Fixes safety docs for `dyn Any + Send {+ Sync}` 35382bc9501 Implement `PointerLike` for `isize`, `NonNull`, `Cell`, `UnsafeCell`, and `SyncUnsafeCell`. 4a1f6d7109e Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper 177a2ab4756 docs: Permissions.readonly() also ignores root user special permissions 8198b118e81 Improve prose around `as_slice` example of IterMut a3a6b99125c Specify only that duplicates are discarded, not the order. ac12bfb386b Auto merge of #131193 - EFanZh:asserts-vec-len, r=the8472 b1151c66fa3 Delete `Rvalue::Len` c5f6d826cd3 docs: `transmute<&mut T, &mut MaybeUninit<T>>` is unsound when exposed to safe code d22659c0e48 Impl String::into_chars 45467334d33 Rollup merge of #134602 - kpreid:pointerlike-doc, r=tgross35 c7e8fb44cdf Fix forgetting to save statx availability on success 07172200a6c Auto merge of #134640 - matthiaskrgr:rollup-xlstm3o, r=matthiaskrgr 28c860b4c8c Document collection `From` and `FromIterator` impls that drop duplicate keys. aed9dc03570 Rollup merge of #134630 - fifty-six:master, r=workingjubilee 5e7cf4f81e0 Auto merge of #130733 - okaneco:is_ascii, r=scottmcm 2c57eaf3e7d cargo update f5201b89fc9 Eliminate redundant statx syscalls 3a79bbe6b81 Rollup merge of #134325 - theemathas:is_null-docs, r=RalfJung feddec9b49f Rollup merge of #131072 - Fulgen301:windows-rename-posix-semantics, r=ChrisDenton 28ac7bfba97 Use `&raw` for `ptr` primitive docs e63eeba1b98 Unify fs::copy and io::copy 7b6a9ccc464 Windows: Use WriteFile to write to a UTF-8 console 2b4c33516bd Avoid short writes in LineWriter 2f63fd886e5 Document CTFE behavior of methods that call is_null 0c3132fcb3c Correctly document is_null CTFE behavior. f719b4e3226 ptr::copy: fix docs for the overlapping case b176a9910ca Rollup merge of #134593 - kornelski:less-unwrap, r=jhpratt d4885751137 Rollup merge of #134579 - hkBst:patch-6, r=jhpratt 9420b21b202 Rollup merge of #134577 - hkBst:patch-5, r=jhpratt b1507559aa1 Rollup merge of #134576 - hkBst:patch-4, r=jhpratt 99b8c86155a Document `PointerLike` implementation restrictions. e0c9b99a164 Less unwrap() in documentation 3392d71fb7b Rollup merge of #123604 - michaelvanstraten:proc_thread_attribute_list, r=ChrisDenton 8fdd27af678 Rollup merge of #134573 - lukas-code:unimpl-dyn-pointerlike, r=compiler-errors 7d1b26a50fd Rollup merge of #134570 - hkBst:patch-3, r=joboet 8476fd227b2 Rollup merge of #134560 - RalfJung:miri-thread-spawn, r=jhpratt dda9903d80a Improve prose around into_slice example of IterMut a32744fcf9f Improve prose around `as_slice` example of Iter bab182f9f90 Improve prose around basic examples of Iter and IterMut 19920a98dac remove reference to dangling from slice::Iter cdbb56c972e fix `PointerLike` docs 6be16279395 unimplement `PointerLike` for trait objects 69e3125711c split up `#[rustc_deny_explicit_impl]` attribute 1f9e0af2898 mri: add track_caller to thread spawning methods for better backtraces 0c5380c426c Rollup merge of #134518 - hltj:typo-fix, r=tgross35 02266003fdf Rollup merge of #132830 - wr7:substr_range_documentation, r=tgross35 7060dcee63c Rollup merge of #126118 - jan-ferdinand:docs_for_vec_set_len, r=the8472 780625e0931 fix typos in the example code in the doc comments of `Ipv4Addr::from_bits()`, `Ipv6Addr::from_bits()` & `Ipv6Addr::to_bits()` 798943c031f Add missing safety descriptions to Arc's 'from_raw','increment_strong_count','decrement_strong_count' d764565c27b build: Update libc version 84dffc2070b Rollup merge of #134490 - hong9lol:typo, r=jhpratt e06b3100397 Rollup merge of #132056 - weiznich:diagnostic_do_not_recommend_final_tests, r=compiler-errors e293151a2bf fix typo in ptr/mod.rs ce47855f6f4 Auto merge of #134443 - joshtriplett:use-field-init-shorthand, r=lqd,tgross35,nnethercote d8624465122 Rollup merge of #134452 - jalil-salame:fix-lazy-cell-docs, r=tgross35 ed1ae716633 Add 'into_array' conversion destructors for 'Box', 'Rc', and 'Arc'; 66f83500c2e Implement Condvar::wait_timeout for targets without threads 721226f31dd Auto merge of #134425 - clubby789:cargo-update, r=jieyouxu 1a49e2a2864 fix(LazyCell): documentation of get[_mut] was wrong cc5a5966ba3 Stabilize `#[diagnostic::do_not_recommend]` c08be9b4a8f Use field init shorthand where possible c3f255c1758 Rollup merge of #134426 - hkBst:patch-3, r=lqd 0452ec570a4 Rollup merge of #133265 - the8472:extract-if-ranges, r=cuviper 3dd9c4fc9df compiler & tools dependencies: Updating allocator-api2 v0.2.20 -> v0.2.21 Updating annotate-snippets v0.11.4 -> v0.11.5 Updating anyhow v1.0.93 -> v1.0.94 Updating bstr v1.11.0 -> v1.11.1 Updating chrono v0.4.38 -> v0.4.39 Updating clap v4.5.21 -> v4.5.23 Updating clap_builder v4.5.21 -> v4.5.23 Updating clap_complete v4.5.38 -> v4.5.39 Updating clap_lex v0.7.3 -> v0.7.4 Updating colored v2.1.0 -> v2.2.0 Updating console v0.15.8 -> v0.15.10 Updating crossbeam-channel v0.5.13 -> v0.5.14 Updating crossbeam-deque v0.8.5 -> v0.8.6 Updating crossbeam-utils v0.8.20 -> v0.8.21 Updating encode_unicode v0.3.6 -> v1.0.0 Updating fastrand v2.2.0 -> v2.3.0 Updating home v0.5.9 -> v0.5.11 Updating js-sys v0.3.74 -> v0.3.76 Updating libc v0.2.167 -> v0.2.168 Updating miniz_oxide v0.8.0 -> v0.8.1 Updating pest v2.7.14 -> v2.7.15 Updating pest_derive v2.7.14 -> v2.7.15 Updating pest_generator v2.7.14 -> v2.7.15 Updating pest_meta v2.7.14 -> v2.7.15 Updating redox_syscall v0.5.7 -> v0.5.8 Updating rustc-stable-hash v0.1.0 -> v0.1.1 Updating rustix v0.38.41 -> v0.38.42 Updating self_cell v1.0.4 -> v1.1.0 Updating semver v1.0.23 -> v1.0.24 Updating serde v1.0.215 -> v1.0.216 Updating serde_derive v1.0.215 -> v1.0.216 Adding thiserror v2.0.7 Adding thiserror-impl v2.0.7 Updating time v0.3.36 -> v0.3.37 Updating time-macros v0.2.18 -> v0.2.19 Updating tokio v1.41.1 -> v1.42.0 Updating wasm-bindgen v0.2.97 -> v0.2.99 Updating wasm-bindgen-backend v0.2.97 -> v0.2.99 Updating wasm-bindgen-macro v0.2.97 -> v0.2.99 Updating wasm-bindgen-macro-support v0.2.97 -> v0.2.99 Updating wasm-bindgen-shared v0.2.97 -> v0.2.99 Updating wasm-encoder v0.221.0 -> v0.221.2 Updating wasmparser v0.221.0 -> v0.221.2 Updating wast v221.0.0 -> v221.0.2 Updating wat v1.221.0 -> v1.221.2 d73b1b021da Auto merge of #130766 - clarfonthey:stable-coverage-attribute, r=wesleywiser b9e462a1953 Fix typo in uint_macros.rs 736211c3da8 Rollup merge of #134202 - nnethercote:rm-existing_doc_keyword, r=GuillaumeGomez 7efcdd17843 Remove `rustc::existing_doc_keyword` lint. 656071aab38 Move `doc(keyword = "while")`. 90348fcf577 Stabilize #[coverage] attribute ec0e91b8979 remove obsolete comment and pub(super) visibility 5968f77838d remove bounds from vec and linkedlist ExtractIf 29d14e102fc Add a range argument to vec.extract_if 6cbb970e579 Rollup merge of #134277 - notriddle:notriddle/inline-into, r=GuillaumeGomez d662587509d Auto merge of #134332 - Zalathar:rollup-oe23hkw, r=Zalathar 4a5a0d689a1 Rollup merge of #134310 - tkr-sh:master, r=Noratrieb 92855d42ff4 Rollup merge of #133406 - EFanZh:lock-value-accessors, r=Noratrieb 0b9d747141d Rollup merge of #130361 - devnexen:sock_cloexec_solaris, r=cuviper 6e144b21413 Auto merge of #133223 - zachs18:uniquerc-impls, r=Noratrieb 79c9aee97ec Asserts the maximum value that can be returned from `Vec::len` c9ef1c2bc5b Auto merge of #134258 - bjorn3:no_public_specialization, r=petrochenkov e87c314124d Rollup merge of #134022 - shahn:doc_clarify_extend_for_tuple_version, r=tgross35 407baa130fd Rollup merge of #133986 - olishmollie:tracking-issue-127154-documentation, r=tgross35 a15b8510505 Correct spelling of CURRENT_RUSTC_VERSION 830c41a3b9a Replace i32 by char in `split_at` & `_unchecked` b0ce62f98d5 Add clarity to the "greater" of `VecDeque::insert` 7e9303973a0 Replace i32 by char to add clarity d2447f75ebe Auto merge of #134296 - matthiaskrgr:rollup-o0sxozj, r=matthiaskrgr 69d3f60506c Add documentation for anonymous pipe module eef21b1d77b Rollup merge of #133942 - BD103:black-box-docs, r=saethlin 50c69ad6111 Rollup merge of #134255 - bjoernager:master, r=Noratrieb 90f93527afa Rollup merge of #134254 - hermit-os:hermit-c_char, r=workingjubilee 77308c25af0 Rollup merge of #134252 - hermit-os:hermit-is_absolute, r=tgross35 5bb7b3b777d rustdoc-search: let From and Into be unboxed fc277ec239c Rollup merge of #134229 - purplesyringa:provenance-docs, r=saethlin 8f229d1c45e Rollup merge of #134140 - compiler-errors:unsafe-binders-ast, r=oli-obk 27f37568893 Remove support for specializing ToString outside the standard library 06ffb2a5c21 Auto merge of #134047 - saethlin:inline-fmt-rt, r=m-ou-se 03089923ff1 Update includes in '/library/core/src/error.rs'; 7b382d49db0 Fix building `std` for Hermit after `c_char` change 17aedf195cb Fix `Path::is_absolute` on Hermit 78a0ffe0586 Reword prelude for AsyncFn stabilization fa1bb78c513 Stabilize async closures c55d1790360 Fix typos in docs on provenance 0a51c5c2509 feat: clarify how to use `black_box()` 5c06504bad2 Add unwrap_unsafe_binder and wrap_unsafe_binder macro operators 04d4cba289b Rollup merge of #134179 - zachs18:align_offset_mut_ptr_doc, r=workingjubilee 9f9501649f6 Rollup merge of #134178 - ehuss:stabilize-2024-prelude, r=amanieu,traviscross,tgross35 80e8c7d9d4f Rollup merge of #134155 - sthibaul:unsafe_op_in_unsafe_fn, r=tgross35 5233a52ed46 Rollup merge of #133859 - bjorn3:move_tests_to_alloctests, r=tgross35 d6354150519 Rollup merge of #122003 - mati865:gnullvm-build-libunwind, r=petrochenkov 6e362c34dcb Stabilize the Rust 2024 prelude da008bb9f17 Auto merge of #134177 - matthiaskrgr:rollup-hgp8q60, r=matthiaskrgr dc27b6e6675 Rollup merge of #133598 - ChayimFriedman2:get-many-mut-detailed-err, r=scottmcm 6f047747190 Rollup merge of #132975 - arichardson:ffi-c-char, r=tgross35 4ab0e8ed9b5 Remove consteval note from <*mut T>::align_offset docs. c58f76c5e3d Rollup merge of #134079 - tbu-:pr_doc_x8_to_from_xe_bytes, r=jhpratt 11af9c6b919 Add a note saying that `{u8,i8}::from_{be,le,ne}_bytes` is meaningless d724d6560bf Forbid unsafe_op_in_unsafe_fn in hurd-specific os and sys files 08a3185c22b Rollup merge of #134116 - RalfJung:const_nonnull_new, r=jhpratt ac7aa894b2c Rollup merge of #134100 - eholk:noop-rustc-const-stable, r=dtolnay 97ff918e4ef Add references to the specific ABI documents c08f8717bfc Remove l4re from the unsigned char operating system list cfdb7c248bd De-duplicate and improve definition of core::ffi::c_char cae4102a69e stabilize const_nonnull_new dd8b372aab3 Rollup merge of #133472 - rust-wasi-web:master, r=joboet f21eb1bbf20 Rollup merge of #133456 - clubby789:cargo-update, r=ChrisDenton c403963c8dc Rollup merge of #133184 - osiewicz:wasm-fix-infinite-loop-in-remove-dir-all, r=Noratrieb d347b65f7bc Remove rustc_const_stable attribute on const NOOP 1f8d8e2ac53 Rollup merge of #134032 - snprajwal:fix-docs, r=joboet 66f11d51ecc core: use public method instead of instrinsic 596fd3559d3 core: improve comments b591b9bb582 Auto merge of #134052 - matthiaskrgr:rollup-puxwqrk, r=matthiaskrgr 948eb05f3d6 Rollup merge of #134050 - RalfJung:miri-sync, r=RalfJung b343c5154f8 Rollup merge of #133880 - ChrisDenton:homedir, r=Mark-Simulacrum eba56285c42 Rollup merge of #133789 - rossmacarthur:then-with-doc-alias, r=Mark-Simulacrum f2f918448ae Switch inline(always) in core/src/fmt/rt.rs to plain inline c95571c6f3e Downgrade cc 7732aee412f Rollup merge of #134013 - BLANKatGITHUB:intrinsic, r=saethlin 37e3ad70e3a Adds new intrinsic declaration 321e15467b6 Rollup merge of #133987 - Will-Low:DefineTlsAcronym, r=workingjubilee fa629100eb6 docs: better examples for `std::ops::ControlFlow` 9351abd146c Merge from rustc 5e9d429daf8 Auto merge of #133978 - matthiaskrgr:rollup-6gh1iho, r=matthiaskrgr 559d097737d Merge from rustc e64cc8f0b01 Define acronym for thread local storage 583e5c38fb2 Auto merge of #118159 - EliasHolzmann:formatting_options, r=m-ou-se fb2f7f59542 Rollup merge of #132187 - shahn:extend_more_tuples, r=dtolnay eea8026b615 Rollup merge of #130254 - GrigorenkoPV:QuotaExceeded, r=dtolnay 6b532c5a3ec Rollup merge of #130209 - GrigorenkoPV:CrossesDevices, r=dtolnay 65dfcbf3228 Auto merge of #133089 - eholk:stabilize-noop-waker, r=dtolnay e7f87ced7f7 core: implement `bool::select_unpredictable` 76a0c103f85 Rollup merge of #133790 - HypheX:improve-vec-docs, r=harudagondi,workingjubilee c5b36235821 Merge from rustc 9a35941d30c Rollup merge of #133821 - Kobzol:replace-black-with-ruff, r=onur-ozkan 8e70d440609 Stabilize noop_waker 079deca158e Access members of `FormattingOptions` directly instead of via getters/setters 71ca7b7021e Removed constness for methods receiving a `&mut` parameter 44211bdeaf7 Added better reason for exposing `flags` and `get_flags` as unstable 19a746ad96d Formatted 7b0c4b28419 Refactored FormattingOptions to use a bitmask for storing flags 1f799846b6e Revert "Turned public+unstable+hidden functions into private functions" 829b61a1246 Turned public+unstable+hidden functions into private functions e9281c8e9a3 Made all fns const f864bca7c6a impl Default for fmt::FormattingOptions aa9bd365b8e Fixed copy+paste error in comment 08f0702f0e5 fmt::FormattingOptions: Renamed `alignment` to `align` 2823ff934ab Formatter::with_options: Use different lifetimes b64be9fba0e Fixed another broken test 5e26a3b8414 Added struct `fmt::FormattingOptions` 7b1865455ac Formatter: Access members via getter methods wherever possible b880b8647ca Improve documentation 3bd82e97bef Add libc funcitons only for wasm32-wasip1-threads. 446d6a769c5 Fix compilation for wasm32-wasip1 (without threads). c5fadd2a455 Rollup merge of #133882 - jyn514:doc-backtraces, r=saethlin 4b68145938a Rollup merge of #133844 - RalfJung:simd_relaxed_fma-nondet, r=workingjubilee 1ed910d355b Rollup merge of #127565 - esp-rs:xtensa-vaargs, r=workingjubilee b3a46486625 Rollup merge of #133863 - oli-obk:push-pystoxvtvssx, r=lqd 0e9a4d8417b Rollup merge of #118833 - Urgau:lint_function_pointer_comparisons, r=cjgillot 8ed8886175f Improve comments for the default backtrace printer 23d6fda4069 Expand home_dir docs 5d1aa1675a3 Reformat Python code with `ruff` 14f2e23f839 Rename `core_pattern_type` and `core_pattern_types` lib feature gates to `pattern_type_macro` aa4f52b5035 Move some alloc tests to the alloctests crate 9c94d5d7655 clarify simd_relaxed_fma non-determinism b1f3a26d27a Rollup merge of #133651 - scottmcm:nonnull-nonzero-no-field-projection, r=oli-obk 72036111be5 Auto merge of #133818 - matthiaskrgr:rollup-iav1wq7, r=matthiaskrgr 69ed392762d Rollup merge of #133726 - joshtriplett:breakpoint, r=oli-obk ae20aa74638 Rollup merge of #132937 - xmh0511:master, r=m-ou-se a748abbc719 Update `NonZero` and `NonNull` to not field-project (per MCP807) fdc60cf05a4 Rollup merge of #133796 - TDecking:borrowing-sub, r=tgross35 7e6e6e2b1a3 Rollup merge of #133762 - RalfJung:const-size-of-val, r=workingjubilee 55a7efe9106 Rollup merge of #133696 - RalfJung:const-hashmap, r=cuviper d2614640319 Use UNIX thread_local implementation for WASI. ed4cdaf9441 Update the definition of `borrowing_sub` 5d9e73921d2 Teach rust core about Xtensa VaListImpl and add a custom lowering of vaarg for xtensa. a43b76ee94b Add `core::arch::breakpoint` and test bda8e4b1f12 Add doc alias 'then_with' for `then` method on `bool` d27d3181909 ./x miri: fix sysroot build 19de684bc57 Rollup merge of #133395 - calebzulawski:simd_relaxed_fma, r=workingjubilee 00e15d1d5a9 Rollup merge of #133763 - Urgau:f16-midpoint-const-feat, r=Amanieu 3a955a29554 Rollup merge of #133701 - kornelski:c-str, r=workingjubilee a45b5e9fbd5 Rollup merge of #131713 - tgross35:stabilize-const_maybe_uninit_write, r=RalfJung,dtolnay 9692301b67d stabilize const_{size,align}_of_val d7a7815759e Stabilize `const_maybe_uninit_write` 67506c0fe20 Use c"lit" for CStrings without unwrap 883c1e03b7b Allow fn pointers comparisons lint in library a55ae54b880 Fix `f16::midpoint` const feature gate 6bfd483adaa Rollup merge of #133743 - bjoernager:slice-as-array, r=joboet 61f1e02390d stabilize const_collections_with_hasher and build_hasher_default_const_new 4a29e83103d Auto merge of #133728 - jhpratt:rollup-k1i60pg, r=jhpratt ee0d5ab0752 Fix docs for '<[T]>::as_array'; d6f6f17a4ad Rollup merge of #133678 - Urgau:stabilize-ptr_fn_addr_eq, r=jhpratt 75fc94fe555 Rollup merge of #133672 - RalfJung:const-stability-cleanup, r=jhpratt 1c3d879674e Rollup merge of #133711 - cod10129:master, r=Noratrieb 812ac8de503 Rollup merge of #131784 - Urgau:stabilize-midpoint, r=dtolnay 8a64116590c Rollup merge of #131416 - okaneco:const_copy, r=RalfJung e790064fe66 Mark `slice::copy_from_slice` unstably const 23a071ba9e6 add isatty alias for is_terminal 3f337703717 Rollup merge of #133674 - scottmcm:chain-carrying-add, r=Amanieu f77fe3fcc4e Rollup merge of #133669 - RalfJung:const_swap_splitup, r=dtolnay 9924f497242 Run `cargo update` and update licenses 479c469cf3b Stabilize unsigned `num_midpoint` feature 795d603b70c Rollup merge of #133686 - samueltardieu:push-xkxwxzxqokuu, r=compiler-errors e32ed338ac6 Rollup merge of #133622 - mkroening:exception-blog, r=cuviper 627d4b2f9cb Rollup merge of #133602 - SanchithHegde:fix-pathbuf-example-codeblocks, r=cuviper eb3536842cd Rollup merge of #133515 - SteveLauC:fix/hurd, r=ChrisDenton 75479cf0c93 Rollup merge of #128184 - joboet:refactor_pthread_sync, r=workingjubilee 75360470dab Auto merge of #133684 - RalfJung:rollup-j2tmrg7, r=RalfJung b08a2e48192 Switch rtems target to panic unwind d85224a1b0a Add diagnostic item for `std::ops::ControlFlow` 2b3f1e38af8 Rollup merge of #133670 - RalfJung:hashbrown, r=Amanieu a681bf22338 Auto merge of #133659 - jieyouxu:rollup-576gh4p, r=jieyouxu fdd8daeaa07 std: clarify comments about initialization a866ba30609 Stabilize `ptr::fn_addr_eq` 20ad9f3a771 Add value accessor methods to `Mutex` and `RwLock` d45c3ac10f7 fix: hurd build, stat64.st_fsid was renamed to st_dev 20335c6f01c rustc_allow_const_fn_unstable is not used in proc_macro ab1acf8489c get rid of a bunch of unnecessary rustc_const_unstable e8d5e83ff42 Fix chaining `carrying_add`s 5a138bd16df add test for bytewise ptr::swap of a pointer a28b4c94924 remove a whole bunch of unnecessary const feature gates 632384019c0 Abstract `ProcThreadAttributeList` into its own struct 7a561f25eb3 move swap_nonoverlapping constness to separate feature gate 8e56f2b3beb bump hashbrown version c35c426aa6b move slice::swap_unchecked constness to slice_swap_unchecked feature gate 6795e57d557 Rollup merge of #133548 - cuviper:btreeset-entry-api, r=Mark-Simulacrum 4b6b44ec31b Rollup merge of #133496 - rust-wasi-web:wasi-available-parallelism, r=Amanieu 55088029695 Rollup merge of #133106 - BLANKatGITHUB:intrinsic, r=RalfJung e19d9e1f67c Rollup merge of #132515 - kornelski:home_fix, r=jhpratt 558146cd092 Rollup merge of #133625 - RalfJung:custom-mir-debug-info, r=compiler-errors c7244e4548d Rollup merge of #116161 - Soveu:varargs2, r=cjgillot 46a2f6dd74c Auto merge of #133533 - BoxyUwU:bump-boostrap, r=jieyouxu,Mark-Simulacrum 444dbb1fd6b refine mir debuginfo docs 4eac633b0dc Doc comment custom MIR debuginfo. c8a70037002 update link to "C++ Exceptions under the hood" blog d4d187e948b Rollup merge of #133530 - timvisee:master, r=jhpratt 91fbd9f5864 Rollup merge of #133466 - aksh1618:patch-1, r=thomcc 9063415181e fix: fix codeblocks in `PathBuf` example 035129281e6 Auto merge of #123244 - Mark-Simulacrum:share-inline-never-generics, r=saethlin d21c03c9da5 Change `GetManyMutError` to match T-libs-api decision 13648408c0b Share inline(never) generics across crates 781da31e05b Also use zero when referencing to capacity or length c82f6eec24d Use consistent wording in docs, use zero instead of 0 bcc2e91240a Auto merge of #133561 - GuillaumeGomez:rollup-g4upmv4, r=GuillaumeGomez 04463a7f7f4 Rollup merge of #133543 - mustartt:aix-lgammaf_r-shim, r=cuviper f7a615efa01 Rollup merge of #133512 - bjoernager:slice-as-array, r=Amanieu 8663d4492ee Rollup merge of #129409 - grinapo:patch-1, r=Amanieu 4fb4a00e34d Rollup merge of #133498 - GuillaumeGomez:missing-examples, r=joboet e203dac0af0 Stabilize `extended_varargs_abi_support` 2b6de08a835 Fill in a `BTreeSet::entry` example 173ee652528 Add a tracking issue for `btree_set_entry` f57718afaa9 Add `BTreeSet` entry APIs to match `HashSet` b52d6ea6391 fmt b4b18cab0e9 update cfgs 69ebec2d136 Implement code review 9d15a385fcf replace placeholder version 7ec1cdfe7a3 Auto merge of #133369 - Zalathar:profiler-builtins-no-core, r=jieyouxu a55e6bb8d3a Rollup merge of #133449 - joboet:io_const_error, r=tgross35 e3456c67844 Rollup merge of #133402 - compiler-errors:drop-and-destruct, r=lcnr 7d1132f4450 Auto merge of #133505 - compiler-errors:rollup-xjp8hdi, r=compiler-errors 095b004d343 chore: Improve doc comments 53c5cc9a882 Add '<[T]>::as_array', '<[T]>::as_mut_array', '<*const [T]>::as_array', and '<*mut [T]>::as_mut_array' conversion methods; 29f1a9fc0e1 std: update internal uses of `io::const_error!` 9d96a4d024b Rollup merge of #133435 - RalfJung:test_downgrade_observe, r=tgross35 4be8acba9ed Rollup merge of #133282 - tgross35:maybe-uninit-debug, r=Amanieu 90447aac1c9 Rollup merge of #133136 - ChayimFriedman2:get-many-mut, r=Amanieu 1b8f2e255be Rollup merge of #133042 - cuviper:btreemap-insert_entry, r=Amanieu 423e4c5ac67 Rollup merge of #133464 - RalfJung:whitespace-panic, r=joboet e1c57aaa291 Rollup merge of #133419 - CromFr:add-path-strip_prefix-test-example, r=Amanieu fe5ddb839d6 Add missing code examples on `LocalKey` 77a8b1dd704 thread::available_parallelism for wasm32-wasip1-threads c1576656965 Refactor ReadDir into a state machine 73e18ef0f70 Run TLS destructors for wasm32-wasip1-threads ae14c35ae28 Fix typos in pin.rs a4ef660cb44 std::thread: avoid leading whitespace in some panic messages f1c8fff3eca Constify Drop and Destruct 2b53683f359 std: expose `const_io_error!` as `const_error!` 0ebbd604aca Auto merge of #133247 - GuillaumeGomez:reduce-integer-display-impl, r=workingjubilee 4cb91d2c8ea Support ranges in `<[T]>::get_many_mut()` 654434a13c1 miri: disable test_downgrade_observe test on macOS 94a4251e601 Rollup merge of #132982 - suaviloquence:2-doc-changed-alloc-methods, r=Mark-Simulacrum 141df9d9f11 Rollup merge of #132533 - SUPERCILEX:patch-4, r=Mark-Simulacrum 6b85d41e68e fix `Allocator` method names in `alloc` free function docs 6eb0c106532 Rollup merge of #133298 - n0toose:remove-dir-all-but-not-paths, r=Noratrieb d9da2d525b6 Rollup merge of #133260 - compiler-errors:deref, r=fee1-dead ed139b53ab6 Rollup merge of #132730 - joboet:after_main_sync, r=Noratrieb 4c0534bf7d4 Added a doc test for std::path::strip_prefix 09b85d8fd9d Rollup merge of #133389 - eduardosm:stabilize-const_float_methods, r=RalfJung 53902c2caee Rollup merge of #133301 - GuillaumeGomez:add-example-wrapping-neg, r=workingjubilee 66ab6b5066a changes old intrinsic declaration to new declaration 516ce5869e0 Auto merge of #132611 - compiler-errors:async-prelude, r=ibraheemdev eb02a21bc1f Auto merge of #132597 - lukas-code:btree-plug-leak, r=jhpratt 7b72794dcc0 Make profiler_builtins `#![no_core]` instead of just `#![no_std]` 9f90bb0f6f2 Remove unnecessary `#![allow(unused_features)]` c339b9f7bf6 Sort and separate lint/feature attributes in `profiler_builtins` 839d12cd4ab Constify Deref and DerefMut 802356c5f74 Match simd_relaxed_fma documentation to fmuladd intrinsic bee4ecd9429 Auto merge of #133379 - jieyouxu:rollup-00jxo71, r=jieyouxu f72470ca5ea Add simd_relaxed_fma intrinsic 70729ec3239 Stabilize `const_float_methods` 76d265e503b Auto merge of #133377 - jieyouxu:rollup-n536hzq, r=jieyouxu c6e5bf3fabb Improve code by using `unsigned_abs` f70996f1d61 Rollup merge of #133237 - fee1-dead-contrib:constadd, r=compiler-errors 7aa679938f3 Rollup merge of #133332 - bjoernager:const-array-as-mut-slice, r=jhpratt 30666a45e6f Rollup merge of #131505 - madsmtm:darwin_user_temp_dir, r=dtolnay 225b618ddf4 Auto merge of #132994 - clubby789:cc-bisect, r=Kobzol 0b65b01a424 Auto merge of #133360 - compiler-errors:rollup-a2o38tq, r=compiler-errors 881c5ef131c Rollup merge of #133264 - lolbinarycat:os-string-truncate, r=joboet c5f45296fbb Auto merge of #132329 - compiler-errors:fn-and-destruct, r=lcnr 08ac834d1b8 Shorten the `MaybeUninit` `Debug` implementation 0010fe8458b aix: create shim for lgammaf_r bff4879cf09 Add code example for `wrapping_neg` method for signed integers a97a88475f6 Deduplicate checking drop terminator b92dda90422 Gate const drop behind const_destruct feature, and fix const_precise_live_drops post-drop-elaboration check 129c3e53a09 Auto merge of #133339 - jieyouxu:rollup-gav0nvr, r=jieyouxu 6474e8ec0a1 Rollup merge of #133337 - ColinFinck:thread-scoped-fix-typo, r=joboet d2ab35c9472 Rollup merge of #133330 - RalfJung:close, r=the8472 2f36a49c194 Rollup merge of #133313 - thesummer:fix-arc4random, r=cuviper ffe6b3179cd Rollup merge of #133288 - bjoernager:const-array-each-ref, r=jhpratt 4ddec3f7ae5 Rollup merge of #133238 - heiher:loong-stdarch-rexport, r=Amanieu edcaf2bfb68 Auto merge of #130867 - michirakara:steps_between, r=dtolnay 4fa0b696f8c Fix typo in `std::thread::Scope::spawn` documentation. 4540393046c Mark '<[T; N]>::as_mut_slice' as 'const'; ec55169f806 library: update comment around close() 7ee0a859f11 Don't try to use confstr in Miri 6404c969509 Auto merge of #129238 - umgefahren:stabilize-ipv6-unique-local, r=dtolnay e34a80249b1 distinguish overflow and unimplemented in Step::steps_between 9b076218086 Use arc4random of libc for RTEMS target 4760f7c6d8a Mention that std::fs::remove_dir_all fails on files 8d9d792081f Mark and implement 'each_ref' and 'each_mut' in '[T; N]' as const; e32598f5b57 constify `Add` 6c4dc0bf75a Rollup merge of #131736 - hoodmane:emscripten-wasm-bigint, r=workingjubilee ed658469f4b implement OsString::truncate 49ffd7711ca Rollup merge of #133226 - compiler-errors:opt-in-pointer-like, r=lcnr d1150b80cc3 Rollup merge of #130800 - bjoernager:const-mut-cursor, r=joshtriplett 8259d64c16c Rollup merge of #129838 - Ayush1325:uefi-process-args, r=joboet d4c6e8b623a Make PointerLike opt-in as a trait ee1d522c3ac Reduce integer `Display` implementation size 5518b631c4b Stabilize const_pin_2 99c5401b663 re-export `is_loongarch_feature_detected` 45b75690bfb Rollup merge of #132732 - gavincrawford:as_ptr_attribute, r=Urgau e1d07359441 UniqueRc: platform-specific AsFd/Handle/etc impls to mirror Rc 0edb7261e0f UniqueRc: PinCoerceUnsized and DerefPure cc920055663 UniqueRc: comparisons and Hash c012f090e5a Rollup merge of #133183 - n0toose:improve-remove-dir-docs, r=joboet bbfbad1656f Rollup merge of #125405 - m-ou-se:thread-add-spawn-hook, r=WaffleLapkin f6d49a95d63 Rollup merge of #123947 - zopsicle:vec_deque-Iter-as_slices, r=Amanieu 39c49a04e07 UniqueRc: Add more trait impls. 6cc4451b732 Update doc comments for spawn hook. a0f7d9ee77a Address review comments. 2d181ada07f Fix tracking issue. 249a39a0cac Add tracking issue. 20b5a6fc539 Use Send + Sync for spawn hooks. 98317baa88e Add thread Builder::no_hooks(). c5fb87d4f63 Update thread spawn hooks. e41e6fcf479 Use add_spawn_hook for libtest's output capturing. 4db7a02e736 Add std::thread::add_spawn_hook. 38e5188d7a3 Correct comments concerning updated dangling pointer lint 1a64424cdbc Auto merge of #133205 - matthiaskrgr:rollup-xhhhp5u, r=matthiaskrgr c7d24c82193 Rollup merge of #133200 - RalfJung:miri-rwlock-test, r=tgross35 5b6fd0c324c ignore an occasionally-failing test in Miri a01aa1b5cf0 Rollup merge of #133182 - RalfJung:const-panic-inline, r=tgross35 455a0f5a44a Rollup merge of #132758 - nnethercote:improve-get_key_value-docs, r=cuviper 62141a9774f Mention std::fs::remove_dir_all in std::fs::remove_dir 6da3b3ce795 wasi/fs: Improve stopping condition for <ReadDir as Iterator>::next a99228d348f Bump `stdarch` to the latest master ed5b026e017 const_panic: inline in bootstrap builds to avoid f16/f128 crashes de0b1aba8db std: allow after-main use of synchronization primitives df764f75160 Auto merge of #133160 - jhpratt:rollup-wzj9q15, r=jhpratt 16cce54e64d Rollup merge of #133145 - kornelski:static-mutex, r=traviscross f3a4f1bd760 Auto merge of #128219 - connortsui20:rwlock-downgrade, r=tgross35 33ae0fd84fb rename rustc_const_stable_intrinsic -> rustc_intrinsic_const_stable_indirect 794109a0c23 Improve `{BTreeMap,HashMap}::get_key_value` docs. 8d07e3bfaa1 Document alternatives to `static mut` 434abd790f6 Auto merge of #120370 - x17jiri:likely_unlikely_fix, r=saethlin bf2b57d090e Likely unlikely fix 4f4dc7b6c32 Rollup merge of #133126 - ohno418:fix-String-doc, r=jhpratt c671049d583 Rollup merge of #133116 - RalfJung:const-null-ptr, r=dtolnay 7c4267e947e alloc: fix `String`'s doc 3ffd42de62b clean up const stability around UB checks 7915de7dde6 stabilize const_ptr_is_null 450fb6a212a Rollup merge of #132449 - RalfJung:is_val_statically_known, r=compiler-errors 1704c189beb Rollup merge of #131717 - tgross35:stabilize-const_atomic_from_ptr, r=RalfJung 1797cbd6f90 reduce threads in downgrade test 91c1ee084db fix `DOWNGRADED` bit unpreserved 6d48a443aec fix memory ordering bug + bad test e28e3bc7931 add safety comments for queue implementation 2bdea4c86c9 add `downgrade` to `queue` implementation bbb8dac1b8c modify queue implementation documentation 642703d065a add `downgrade` to `futex` implementation 90e9e015f82 add simple `downgrade` implementations 086ad6d2b2c add `downgrade` method onto `RwLockWriteGuard` cd047c1b37f add `RwLock` `downgrade` tests 3470c81a169 Rollup merge of #133050 - tgross35:inline-f16-f128, r=saethlin cf3259b0e8d Rollup merge of #133048 - cyrgani:ptr-doc-update, r=Amanieu 19a03c46226 Rollup merge of #133019 - sorairolake:add-missing-period-and-colon, r=tgross35 a4f486ae44f Rollup merge of #132984 - sunshowers:pipe2, r=tgross35 bf078975d4e Rollup merge of #132977 - cberner:fix_solaris, r=tgross35 fc8cdb67a10 Rollup merge of #132790 - aDotInTheVoid:ioslice-asslice-rides-again, r=cuviper 4dd6b59105e Pass `f16` and `f128` by value in `const_assert!` 28460d3aceb Remove one stray space. a97d1e8073a use `&raw` in `{read, write}_unaligned` documentation ee7207a0d90 btree: add `{Entry,VacantEntry}::insert_entry` 425456c7115 Auto merge of #132709 - programmerjake:optimize-charto_digit, r=joshtriplett 416546b05ec Rollup merge of #133027 - no1wudi:master, r=jhpratt 351a4687a5e Auto merge of #133026 - workingjubilee:rollup-q8ig6ah, r=workingjubilee 14fc77f322a Fix a copy-paste issue in the NuttX raw type definition b836ab705ff Rollup merge of #133008 - onur-ozkan:update-outdated-comment, r=jieyouxu 025f9109b33 Rollup merge of #133004 - cuviper:unrecover-btree, r=ibraheemdev 38276efae30 Rollup merge of #133003 - zachs18:clonetouninit-dyn-compat-u8, r=dtolnay ea2d685129b Rollup merge of #132907 - BLANKatGITHUB:intrinsic, r=saethlin faa1da1bb95 Rollup merge of #131304 - RalfJung:float-core, r=tgross35 736c7d89e1d Auto merge of #122770 - iximeow:ixi/int-formatting-optimization, r=workingjubilee 25dce5d0167 docs: Fix missing colon in methods for primitive types 02a1f6cbfe2 docs: Fix missing period in methods for integer types c054c2bbe3a Auto merge of #133006 - matthiaskrgr:rollup-dz6oiq5, r=matthiaskrgr 33c3615acf4 update outdated comment about test-float-parse adecda8a77d Rollup merge of #126046 - davidzeng0:mixed_integer_ops_unsigned_sub, r=Amanieu 51542950d0e Auto merge of #132662 - RalfJung:const-panic-inlining, r=tgross35 1abb10629d3 Update core CloneToUninit tests 13854a8e2ff btree: simplify the backdoor between set and map c90d22c922e Bump `cc` 3d904bd3bce Fix compilation error on Solaris due to flock usage eaf521eefcc Auto merge of #132556 - clubby789:cargo-update, r=Mark-Simulacrum 46a29c98717 Run `cargo update` and update licenses 89e4fc96f98 const_panic: don't wrap it in a separate function 6688c0ed773 [illumos] use pipe2 to create anonymous pipes 02f9d305b25 Auto merge of #132883 - LaihoE:vectorized_is_sorted, r=thomcc 88d8ceaf9b2 Auto merge of #132972 - matthiaskrgr:rollup-456osr7, r=mat…
…viper Revert vita's c_char back to i8 # Description Hi! rust-lang#132975 changed the definition of `c_char` from i8 to u8 for most ARM targets. While that would usually be correct, [VITASDK uses signed chars by default](https://github.com/vitasdk/buildscripts/blob/master/patches/gcc/0001-gcc-10.patch#L33-L34). The Clang definitions are incorrect because Clang is not (yet?) supported by the vita commmunity / `VITADSK`, On the Rust side, the pre-compiled libraries the user can link to are all compiled using vita's `gcc` and [we set `TARGET_CC` and `TARGET_CXX`](https://github.com/vita-rust/cargo-vita/blob/d564a132cbd43947118c0d6d0ebfbea7d1dd7fa7/src/commands/build.rs#L230) in `cargo vita` for build scripts using `cc`. I'm creating it as a draft PR so that we can discuss it and possibly get it approved here, but wait to merge the [libc side](rust-lang/libc#4258) and get a libc version first, as having the definitions out of sync breaks std. As a nightly-only target it can be confusing/frustrating for new users when the latest nightly, which is the default, is broken.
Instead of having a list of unsigned char targets for each OS, follow the logic Clang uses and instead set the value based on architecture with a special case for Darwin and Windows operating systems. This makes it easier to support new operating systems targeting Arm/AArch64 without having to modify this config statement for each new OS. The new list does not quite match Clang since I noticed a few bugs in the Clang implementation (llvm/llvm-project#115957).
Fixes #129945
Closes #131319