-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
align_offset, align_to: no longer allow implementations to spuriously fail to align #121201
Conversation
Note that the opposite of this PR exists at #105296 |
Not sure in which sense that is the "opposite". I think having these APIs you propose is a good idea no matter what we do with |
those were only ever added to support making I guess public usage of the functions does show what people want out of these APIs, so 🤷 let's just do it and figure things out when we're ready to make more stuff const |
We're not closing the door on that though.
|
We discussed this in the libs-api meeting, and those present were happy with this change. @rfcbot merge |
Team member @m-ou-se has proposed to merge this. The next step is review by the rest of the tagged team members: No concerns currently listed. Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! See this document for info about what commands tagged team members can give me. |
🔔 This is now entering its final comment period, as per the review above. 🔔 |
With my lang hat on: If I'm understanding correctly, these can differ at compile time precisely because the concept of addresses and them having alignment isn't the same at compile-time and runtime. That seems fine. We will still have options at compile-time; for instance, if we want to track the concept of "sufficiently aligned" at compile time, we could decide to do so in an abstract way. |
Yes. The only time compile-time would give a "weird" answer is when the information required to give the expected answer is inherently unavailable at compile-time.
I think that might be tricky, e.g. if one crate declares a |
…iaskrgr Rollup of 9 pull requests Successful merges: - rust-lang#121201 (align_offset, align_to: no longer allow implementations to spuriously fail to align) - rust-lang#122076 (Tweak the way we protect in-place function arguments in interpreters) - rust-lang#122100 (Better comment for implicit captures in RPITIT) - rust-lang#122157 (Add the new description field to Target::to_json, and add descriptions for some MSVC targets) - rust-lang#122164 (Fix misaligned loads when loading UEFI arg pointers) - rust-lang#122171 (Add some new solver tests) - rust-lang#122172 (Don't ICE if we collect no RPITITs unless there are no unification errors) - rust-lang#122197 (inspect formatter: add braces) - rust-lang#122198 (Remove handling for previously dropped LLVM version) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#121201 - RalfJung:align_offset_contract, r=cuviper align_offset, align_to: no longer allow implementations to spuriously fail to align For a long time, we have allowed `align_offset` to fail to compute a properly aligned offset, and `align_to` to return a smaller-than-maximal "middle slice". This was done to cover the implementation of `align_offset` in const-eval and Miri. See rust-lang#62420 for more background. For about the same amount of time, this has caused confusion and surprise, where people didn't realize they have to write their code to be defensive against `align_offset` failures. Another way to put this is: the specification is effectively non-deterministic, and non-determinism is hard to test for -- in particular if the implementation everyone uses to test always produces the same reliable result, and nobody expects it to be non-deterministic to begin with. With rust-lang#117840, Miri has stopped making use of this liberty in the spec; it now always behaves like rustc. That only leaves const-eval as potential motivation for this behavior. I do not think this is sufficient motivation. Currently, none of the relevant functions are stably const: `align_offset` is unstably const, `align_to` is not const at all. I propose that if we ever want to make these const-stable, we just accept the fact that they can behave differently at compile-time vs at run-time. This is not the end of the world, and it seems to be much less surprising to programmers than unexpected non-determinism. (Related: rust-lang/rfcs#3352.) `@thomcc` has repeatedly made it clear that they strongly dislike the non-determinism in align_offset, so I expect they will support this. `@oli-obk,` what do you think? Also, whom else should we involve? The primary team responsible is clearly libs-api, so I will nominate this for them. However, allowing const-evaluated code to behave different from run-time code is t-lang territory. The thing is, this is not stabilizing anything t-lang-worthy immediately, but it still does make a decision we will be bound to: if we accept this change, then - either `align_offset`/`align_to` can never be called in const fn, - or we allow compile-time behavior to differ from run-time behavior. So I will nominate for t-lang as well, with the question being: are you okay with accepting either of these outcomes (without committing to which one, just accepting that it has to be one of them)? This closes the door to "have `align_offset` and `align_to` at compile-time and also always have compile-time behavior match run-time behavior". Closes rust-lang#62420
Ah, We can add a different function for |
@rustbot labels -I-lang-nominated We discussed this in the lang call on 2024-03-13 and agreed that we were OK with this having been merged and the consequences of that noted in the original nomination. |
Sorry, I hadn't realized the T-lang discussion was still open when this got approved. |
Pkgsrc changes: * Adapt checksums and patches, some have beene intregrated upstream. Upstream chnages: Version 1.78.0 (2024-05-02) =========================== Language -------- - [Stabilize `#[cfg(target_abi = ...)]`] (rust-lang/rust#119590) - [Stabilize the `#[diagnostic]` namespace and `#[diagnostic::on_unimplemented]` attribute] (rust-lang/rust#119888) - [Make async-fn-in-trait implementable with concrete signatures] (rust-lang/rust#120103) - [Make matching on NaN a hard error, and remove the rest of `illegal_floating_point_literal_pattern`] (rust-lang/rust#116284) - [static mut: allow mutable reference to arbitrary types, not just slices and arrays] (rust-lang/rust#117614) - [Extend `invalid_reference_casting` to include references casting to bigger memory layout] (rust-lang/rust#118983) - [Add `non_contiguous_range_endpoints` lint for singleton gaps after exclusive ranges] (rust-lang/rust#118879) - [Add `wasm_c_abi` lint for use of older wasm-bindgen versions] (rust-lang/rust#117918) This lint currently only works when using Cargo. - [Update `indirect_structural_match` and `pointer_structural_match` lints to match RFC] (rust-lang/rust#120423) - [Make non-`PartialEq`-typed consts as patterns a hard error] (rust-lang/rust#120805) - [Split `refining_impl_trait` lint into `_reachable`, `_internal` variants] (rust-lang/rust#121720) - [Remove unnecessary type inference when using associated types inside of higher ranked `where`-bounds] (rust-lang/rust#119849) - [Weaken eager detection of cyclic types during type inference] (rust-lang/rust#119989) - [`trait Trait: Auto {}`: allow upcasting from `dyn Trait` to `dyn Auto`] (rust-lang/rust#119338) Compiler -------- - [Made `INVALID_DOC_ATTRIBUTES` lint deny by default] (rust-lang/rust#111505) - [Increase accuracy of redundant `use` checking] (rust-lang/rust#117772) - [Suggest moving definition if non-found macro_rules! is defined later] (rust-lang/rust#121130) - [Lower transmutes from int to pointer type as gep on null] (rust-lang/rust#121282) Target changes: - [Windows tier 1 targets now require at least Windows 10] (rust-lang/rust#115141) - [Enable CMPXCHG16B, SSE3, SAHF/LAHF and 128-bit Atomics in tier 1 Windows] (rust-lang/rust#120820) - [Add `wasm32-wasip1` tier 2 (without host tools) target] (rust-lang/rust#120468) - [Add `wasm32-wasip2` tier 3 target] (rust-lang/rust#119616) - [Rename `wasm32-wasi-preview1-threads` to `wasm32-wasip1-threads`] (rust-lang/rust#122170) - [Add `arm64ec-pc-windows-msvc` tier 3 target] (rust-lang/rust#119199) - [Add `armv8r-none-eabihf` tier 3 target for the Cortex-R52] (rust-lang/rust#110482) - [Add `loongarch64-unknown-linux-musl` tier 3 target] (rust-lang/rust#121832) Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. Libraries --------- - [Bump Unicode to version 15.1.0, regenerate tables] (rust-lang/rust#120777) - [Make align_offset, align_to well-behaved in all cases] (rust-lang/rust#121201) - [PartialEq, PartialOrd: document expectations for transitive chains] (rust-lang/rust#115386) - [Optimize away poison guards when std is built with panic=abort] (rust-lang/rust#100603) - [Replace pthread `RwLock` with custom implementation] (rust-lang/rust#110211) - [Implement unwind safety for Condvar on all platforms] (rust-lang/rust#121768) - [Add ASCII fast-path for `char::is_grapheme_extended`] (rust-lang/rust#121138) Stabilized APIs --------------- - [`impl Read for &Stdin`] (https://doc.rust-lang.org/stable/std/io/struct.Stdin.html#impl-Read-for-%26Stdin) - [Accept non `'static` lifetimes for several `std::error::Error` related implementations] (rust-lang/rust#113833) - [Make `impl<Fd: AsFd>` impl take `?Sized`] (rust-lang/rust#114655) - [`impl From<TryReserveError> for io::Error`] (https://doc.rust-lang.org/stable/std/io/struct.Error.html#impl-From%3CTryReserveError%3E-for-Error) These APIs are now stable in const contexts: - [`Barrier::new()`] (https://doc.rust-lang.org/stable/std/sync/struct.Barrier.html#method.new) Cargo ----- - [Stabilize lockfile v4](rust-lang/cargo#12852) - [Respect `rust-version` when generating lockfile] (rust-lang/cargo#12861) - [Control `--charset` via auto-detecting config value] (rust-lang/cargo#13337) - [Support `target.<triple>.rustdocflags` officially] (rust-lang/cargo#13197) - [Stabilize global cache data tracking] (rust-lang/cargo#13492) Misc ---- - [rustdoc: add `--test-builder-wrapper` arg to support wrappers such as RUSTC_WRAPPER when building doctests] (rust-lang/rust#114651) Compatibility Notes ------------------- - [Many unsafe precondition checks now run for user code with debug assertions enabled] (rust-lang/rust#120594) This change helps users catch undefined behavior in their code, though the details of how much is checked are generally not stable. - [riscv only supports split_debuginfo=off for now] (rust-lang/rust#120518) - [Consistently check bounds on hidden types of `impl Trait`] (rust-lang/rust#121679) - [Change equality of higher ranked types to not rely on subtyping] (rust-lang/rust#118247) - [When called, additionally check bounds on normalized function return type] (rust-lang/rust#118882) - [Expand coverage for `arithmetic_overflow` lint] (rust-lang/rust#119432) 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. - [Update to LLVM 18](rust-lang/rust#120055) - [Build `rustc` with 1CGU on `x86_64-pc-windows-msvc`] (rust-lang/rust#112267) - [Build `rustc` with 1CGU on `x86_64-apple-darwin`] (rust-lang/rust#112268) - [Introduce `run-make` V2 infrastructure, a `run_make_support` library and port over 2 tests as example] (rust-lang/rust#113026) - [Windows: Implement condvar, mutex and rwlock using futex] (rust-lang/rust#121956)
as_simd: fix doc comment to be in line with align_to In rust-lang#121201, the guarantees about `align_offset` and `align_to` were changed. This PR aims to correct the doc comment of `as_simd` to be in line with the new `align_to`. Tagging rust-lang#86656 for good measure.
Rollup merge of rust-lang#127422 - greaka:master, r=workingjubilee as_simd: fix doc comment to be in line with align_to In rust-lang#121201, the guarantees about `align_offset` and `align_to` were changed. This PR aims to correct the doc comment of `as_simd` to be in line with the new `align_to`. Tagging rust-lang#86656 for good measure.
5e4edbadcb7 Rollup merge of rust-lang#127789 - Sword-Destiny:master, r=petrochenkov 686f75bb7a6 Rollup merge of rust-lang#127047 - tspiteri:f128-aconsts-lsd, r=tgross35 8b1d874a6ec deny unsafe_op_in_unsafe_fn for teeos f8bb325e1cf clean unsafe op in unsafe fn b5970178b63 clean unsafe op in unsafe fn 9fd9c61c0ef clean unsafe op in unsafe fn e0c57e42237 delete #![allow(unsafe_op_in_unsafe_fn)] a778c83ad92 Auto merge of rust-lang#127777 - matthiaskrgr:rollup-qp2vkan, r=matthiaskrgr 65355912072 Rollup merge of rust-lang#124921 - RalfJung:offset-from-same-addr, r=oli-obk ac443f29c05 Auto merge of rust-lang#127020 - tgross35:f16-f128-classify, r=workingjubilee eae94518584 Rollup merge of rust-lang#127750 - ChrisDenton:safe-unsafe-unsafe, r=workingjubilee 6257980b38d Rollup merge of rust-lang#127744 - workingjubilee:deny-unsafe-op-in-std, r=jhpratt 05614f3ce16 Rollup merge of rust-lang#127712 - ChrisDenton:raw-types, r=workingjubilee 14c24b1ba4c Mark some `f16` and `f128` functions unstably const 1b70afd5267 Move safety comment outside unsafe block 3c286d52b7d Make os/windows default to deny unsafe in unsafe d96ed862d21 Make pal/windows default to deny unsafe in unsafe bb3f60f0e69 Fix Windows 7 9fc6710fe07 Auto merge of rust-lang#127719 - devnexen:math_log_fix_solill, r=Amanieu decdb067d63 Don't re-export `c_int` from `c` a1a1c6a2d51 Remove DWORD 7d189919173 Remove ULONG d89bce6a28b Remove PSRWLOCK d3205de3d53 Remove LPVOID 68ac381171e Remove LPSECURITY_ATTRIBUTES 6d037b83d39 Remove LPOVERLAPPED 61f617d370a Remove LPCVOID 8a2537133ee Remove SIZE_T cd51de1f064 Remove CHAR 00a5b3b8733 Remove USHORT d621d21f702 Remove LPWSTR 0b22ecb55af Remove UINT 18adceff5ae Remove LONG 4eaaf7dcb61 Remove LARGE_INTEGER aa45985349c Remove NonZeroDWORD d7aa7cf7242 Auto merge of rust-lang#127732 - GrigorenkoPV:teeos-safe-sys-init, r=Amanieu 5ff7b404d5e std: Unsafe-wrap std::sync e8fa3ef2c24 std: Unsafe-wrap in Wtf8 impl 8c3a9c1c939 std: Unsafe-wrap std::io 91b7331a825 std: Directly call unsafe {un,}setenv in env 8c75111da55 std: Unsafe-wrap OSStr{,ing}::from_encoded_bytes_unchecked 4679f9a6cff std: Unsafe-wrap HashMap::get_many_unchecked_mut ac0fd279184 std: deny(unsafe_op_in_unsafe_fn) but allow sites f710e38693e Add `classify` and related methods for `f16` and `f128` 009660d51cc std: removes logarithms family function edge cases handling for solaris. 3492a6b5146 Auto merge of rust-lang#127728 - matthiaskrgr:rollup-ercdbjd, r=matthiaskrgr 08732993c73 sys::init is not unsafe on teeos 6c4029ad51b Rollup merge of rust-lang#127592 - tesuji:patch-1, r=Mark-Simulacrum 7cd8086b6c1 Auto merge of rust-lang#125935 - madsmtm:merge-os-apple, r=workingjubilee cfb0556a7f1 Merge Apple `std::os` extensions modules into `std::os::darwin` 54435f79fa5 Rollup merge of rust-lang#127704 - workingjubilee:fixup-better-than, r=ChrisDenton e1229496e7f Auto merge of rust-lang#127706 - workingjubilee:rollup-d07ij30, r=workingjubilee 30331206bd2 Rollup merge of rust-lang#127659 - saethlin:manually-drop-bufwriter, r=joboet e9eb7de0b4a Rollup merge of rust-lang#127446 - zachs18:miri-stdlib-leaks-core-alloc, r=Mark-Simulacrum 3ad25605a1f Rollup merge of rust-lang#127370 - ChrisDenton:win-sys, r=Mark-Simulacrum 05bf6bcfaeb doc: Suggest `str::repeat` over `iter::repeat().take().collect()` 96e8ba7a40c Fix minor typos in std::process doc on Win argv 6b67c664112 Auto merge of rust-lang#126958 - dtolnay:u32char, r=Mark-Simulacrum 591aaaf1e3e std::unix::fs: removing, now useless, layers predating macOs 10.10. 94ec6e79526 Auto merge of rust-lang#127674 - jhpratt:rollup-0dxy3k7, r=jhpratt a7c1f608ce4 Rollup merge of rust-lang#127668 - spencer3035:improve-slice-doc, r=jhpratt 1e49e055a69 Rollup merge of rust-lang#127661 - eduardosm:stabilize-io_slice_advance, r=cuviper c79e0030810 Auto merge of rust-lang#127397 - jyn514:multi-thread-panic-hook, r=workingjubilee 206678cfcd3 Auto merge of rust-lang#126606 - zachs18:patch-2, r=joboet 1bb035080b7 Updated slice documentation c8b79ddd46c Use ManuallyDrop in BufWriter::into_parts 6e26e27ee92 Stabilize io_slice_advance cac66641bfb Rename the internal `const_strlen` to just `strlen` 39647aba92c fix interleaved panic output 0476fc4842e Rollup merge of rust-lang#127433 - dtolnay:conststrlen, r=workingjubilee f66bd5fdfbd Rollup merge of rust-lang#126827 - the8472:pidfd-spawn, r=workingjubilee 1e5cd219cb6 Rollup merge of rust-lang#124980 - zachs18:rc-allocator, r=Amanieu 949f0d63178 Add instability attribute on private const_strlen function 20bfac6c159 Rollup merge of rust-lang#127422 - greaka:master, r=workingjubilee f937ef12bda Rollup merge of rust-lang#127599 - tgross35:lazy_cell_consume-rename, r=workingjubilee fde7fd261f2 Rollup merge of rust-lang#127588 - uweigand:s390x-f16-doctests, r=tgross35 ed47f986f1b Rollup merge of rust-lang#127572 - tbu-:pr_debug_event_nonpacked, r=jhpratt e5c8b859b88 Rollup merge of rust-lang#124599 - estebank:issue-41708, r=wesleywiser b71b538ec26 Rename `lazy_cell_consume` to `lazy_cell_into_inner` 9efc1cb294a core: Limit remaining f16 doctests to x86_64 linux a18fbd0ad0e Rollup merge of rust-lang#127554 - ferrocene:tshepang-add-missing-attribute, r=pietroalbini e419147a511 Don't mark `DEBUG_EVENT` struct as `repr(packed)` 4552576f397 Auto merge of rust-lang#126690 - andyolivares:feature/show_window, r=dtolnay 6f6e343956a Rollup merge of rust-lang#127091 - Sky9x:fused-error-sources-iter, r=dtolnay 0d64105175e Fixed doc links 4fb7b225972 Few changes to doc comments. Added tracking issue number. fe62f6f8ad6 Exposing STARTUPINFOW.wShowWindow in CommandExt (show_window function) to control how a new process should display its window (normal, minimized, maximized, etc) 7d20047874d do not run test where it cannot run c5f1c76ddea Auto merge of rust-lang#127235 - martn3:no-mips-f16, r=tgross35,scottmcm 3fefa04a3c1 Rollup merge of rust-lang#127460 - Borgerr:clarify-drop-comment, r=jhpratt 895175ada33 Rollup merge of rust-lang#127355 - aceArt-GmbH:126475, r=oli-obk 57cea32952c Rollup merge of rust-lang#120248 - WaffleLapkin:bonk-ptr-object-casts, r=compiler-errors,oli-obk,lnicola e74955e1f84 Attempt to fix CI e466bf57650 Rollup merge of rust-lang#127367 - ChrisDenton:run-sync, r=Nilstrieb 90504f870c5 Rollup merge of rust-lang#126921 - workingjubilee:outline-va-list, r=Nilstrieb c6b3f3db220 Auto merge of rust-lang#127454 - matthiaskrgr:rollup-k3vfen2, r=matthiaskrgr 29d792329d4 Move/change declaration of `mod exit_guard;` ecc90251720 clarify `sys::unix::fd::FileDesc::drop` comment (rust-lang#66876) 35c5a456fea Rollup merge of rust-lang#127447 - RalfJung:once_lock_miri, r=joboet 9f7100d382c Rollup merge of rust-lang#127354 - nicholasbishop:bishop-sized-doc, r=Nilstrieb ee06e7daee6 Rollup merge of rust-lang#127297 - the8472:path-new-hash, r=Nilstrieb 2206c6b52b9 Rollup merge of rust-lang#127189 - GrigorenkoPV:linkedlist-cursor-list, r=Nilstrieb 41bcc362ad5 Rollup merge of rust-lang#127179 - tgross35:typeid-debug-hex, r=Nilstrieb 7177ac878cc once_lock: make test not take as long in Miri 294d87f0c25 Remove non-focused memory leak in `std` doctest for Miri. a86fd0f0d19 Specialize `TrustedLen` for `Iterator::unzip()` 5515bbad984 Mitigate focused memory leaks in `core` doctests for Miri. 3a0fe26db17 Remove non-focused memory leaks in `core` doctests for Miri. 20d6cb372e6 Mitigate focused memory leaks in `alloc` doctests for Miri. cac890232ed Remove non-focused memory leaks in `alloc` doctests for Miri. bcdc8e8471d Stabilize const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes) a48f566b9a4 offset_from intrinsic: always allow pointers to point to the same address 9919a83b414 Mark format! with must_use hint 0907955d257 as_simd: fix comment to be in line with 507583a (rust-lang#121201) 5569eceddd0 Rollup merge of rust-lang#127275 - RalfJung:offset-from-isize-min, r=Amanieu 2337ab518af Rollup merge of rust-lang#125751 - pitaj:new_range_api, r=jhpratt ad4fde64af5 Rollup merge of rust-lang#127363 - GuillaumeGomez:improve-fmt-code-readability, r=Amanieu 3eeca5f7708 Rollup merge of rust-lang#127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix 1b5e5ac49eb Rollup merge of rust-lang#123600 - tisonkun:path_with_extension, r=dtolnay 5e9d4458222 Attempt to fix CI d8965d365be add `new_range_api` for RFC 3550 ca0f659f69d Move exit guard from sys::common::exit_guard to sys::exit_guard. cf300a7e34b Update library/std/src/sys/pal/common/exit_guard.rs ba4c71a7433 add unit tests for extra extension feature 55fc20b7cbd update comments 6b7a259b4f0 Add experimental raw-dylib feature to std c452e620459 Use windows_targets macro for alloc 521c81ab1c4 Run alloc sync tests 2fcdebb68d7 Improve readability of some fmt code examples 625bcc4987d Rollup merge of rust-lang#127320 - ChrisDenton:win-sys, r=Mark-Simulacrum f8caf5f24be Rollup merge of rust-lang#127214 - bjorn3:miri_native_unwind, r=oli-obk 1862054af88 Describe Sized requirements for mem::offset_of e26c8818397 impl FusedIterator and a size hint for the error sources iter 8f1c6640319 core: erase redundant stability attrs in va_list 60c33a58766 library: outline VaList into ffi::va_list 03d11c20585 Auto merge of rust-lang#126171 - RalfJung:simd_bitmask_multibyte, r=workingjubilee 297850a677e Add more checks for pointers with vtable meta f58a3d6903e Improve dead code analysis 515bd305955 Add comments to windows_targets.rs 89d2de0f95f Update windows-bindgen to 0.58.0 0860a040c83 also remove redundant requirements from offset() 6f80604442b offset_from: "the difference must fit in an isize" is a corollary de4f5c2ca62 Rollup merge of rust-lang#127303 - cuishuang:master, r=jhpratt 56c73c378a5 Rollup merge of rust-lang#127195 - biabbas:vxworks_cleanup, r=jhpratt 5dfdef71fae Rollup merge of rust-lang#126792 - wooden-worm:master, r=Mark-Simulacrum 4df2059a6f7 chore: remove repeat words acbefbbdec7 impl PathBuf::add_extension and Path::with_added_extension 13d5a423f3d Auto merge of rust-lang#127226 - mat-1:optimize-siphash-round, r=nnethercote ed3d4878d34 stir the hash state a little to avoid prefix collisions 5ca124f6d8a Add more test cases for path comparisons 33bc557dd48 Add test case demonstrating equality of paths "foo/bar" and "foobar" 079f99970d6 Move unique_thread_exit call to lang_start_internal so it is not in a generic function, and wrap it in `catch_unwind` 47d0cbc7e2f Remove Miri special-case 596be7ee7d7 Use pthread_t instead of numeric thread id 2e90f6f5e7c Use libc::pause instead of std::thread::park in wait-for-exit loop 1fd23e8568a core: Limit four f16 doctests to x86_64 linux e6f15c579fa std: Set has_reliable_f16 to false for MIPS targets in build.rs 67535b62417 library/std/build.rs: "powerpc64le" is not a target_arch 5b0d82f32d8 Rollup merge of rust-lang#127204 - dimpolo:stabilize_atomic_bool_fetch_not, r=jhpratt b184a84f13c Rollup merge of rust-lang#123588 - tgross35:stabilize-assert_unchecked, r=dtolnay 2a81053036c Fall back on remove dir implementation for vxworks a8b6d0a2e51 Rollup merge of rust-lang#127230 - hattizai:patch01, r=saethlin 4d7cbb257ee chore: remove duplicate words 645e9f24d68 Optimize SipHash by reordering compress instructions c5ab1f01d8c Rollup merge of rust-lang#127128 - elomatreb:elomatreb/stabilize-duration_abs_diff, r=joboet f09067288ce Rollup merge of rust-lang#126732 - StackOverflowExcept1on:master, r=m-ou-se 1dc4f05eed8 Use the native unwind function in miri where possible 4fff3351c87 Avoid MIR bloat in inlining 4385efde634 Stabilize atomic_bool_fetch_not 6c3359cdb0b Rollup merge of rust-lang#127182 - danielhuang:patch-4, r=Nilstrieb a0a438a75f2 Remove unqualified import io:: Error for vxworks as all Error references are qualified in process_vxworks.rs 2a65e9fd644 Auto merge of rust-lang#127026 - Urgau:cleanup-bootstrap-check-cfg, r=Kobzol bba22002ec8 LinkedList's Cursor: method to get a ref to the cursor's list 40a9be9a29e Update ip_addr.rs 986dbd1b458 Print `TypeId` as hex for debugging f27723e63ee Rollup merge of rust-lang#127069 - Sky9x:fmt-pointer-use-addr, r=Nilstrieb b068fce0ad9 Rollup merge of rust-lang#126895 - betelgeuse:improve_simd_gather_documentation, r=Amanieu a6b22e95975 Rollup merge of rust-lang#127134 - tgross35:typeid-debug, r=Nilstrieb 7f0bb45d5b9 Rollup merge of rust-lang#126906 - GrigorenkoPV:fixme-split_at_first, r=Mark-Simulacrum b0feb54c3d8 Rollup merge of rust-lang#126705 - safinaskar:panic, r=Mark-Simulacrum b8977f5a191 Auto merge of rust-lang#127133 - matthiaskrgr:rollup-jxkp3yf, r=matthiaskrgr affa2f90405 Print `TypeId` as a `u128` for `Debug` 05a472c8d62 Rollup merge of rust-lang#127122 - TDecking:div_ceil, r=Nilstrieb 9b3a5111038 Auto merge of rust-lang#120639 - fee1-dead-contrib:new-effects-desugaring, r=oli-obk f96a3214d6b Stabilize `duration_abs_diff` bf9096fc013 small correction to fmt::Pointer impl 171f5dbb17b Auto merge of rust-lang#127121 - GuillaumeGomez:rollup-xjjjckn, r=GuillaumeGomez 50a66465304 Remove uneccessary condition in `div_ceil` 79143898a34 Updated docs on `#[panic_handler]` in `library/core/src/lib.rs` 1858bdce9b8 Rollup merge of rust-lang#127073 - Sky9x:unnecessary-seqcst, r=Nilstrieb aaed20934c7 Rollup merge of rust-lang#127072 - Sky9x:docs-includes-vs-does-include, r=scottmcm e5a577d85dc Auto merge of rust-lang#127119 - RalfJung:miri-sync, r=RalfJung 77a5b51293f Rollup merge of rust-lang#126953 - joboet:lazy_key, r=jhpratt 8641f6a3b19 Merge from rustc 402992c7d21 Rollup merge of rust-lang#127071 - Sky9x:remove-ptr-to-from-bits, r=scottmcm 0a2d8e47740 Rollup merge of rust-lang#127070 - Sky9x:unit-const-param-ty, r=BoxyUwU 663f3d54372 Rollup merge of rust-lang#127055 - shepmaster:hash-finish-must-use, r=dtolnay 729a10a00b8 address review comments db228b821dd general fixups and turn `TODO`s into `FIXME`s 47492c9ec94 Implement `Min` trait in new solver cc4a0293697 implement new effects desugaring d6fadf5ac19 std: add safety comments 8c3c7dcea79 Rollup merge of rust-lang#126970 - DaniPopes:simplify-str-clone_into, r=cuviper ae98528d9f3 Rollup merge of rust-lang#126956 - joboet:fmt_no_extern_ty, r=RalfJung 652f0b8fe38 Merge from rustc 48dc678b2c6 Remove unnecessary SeqCst in `impl fmt::Pointer for AtomicPtr` e6e5e84cae6 docs: say "includes" instead of "does include" a722d391cd8 Remove (deprecated & unstable) {to,from}_bits pointer methods 2ed9c9f5b62 add () to the marker_impls macro for ConstParamTy fdfe0148965 Mark `Hasher::finish` as #[must_use] 2bd2069f1dd fix least significant digits of f128 associated constants 8db57c2b618 core: improve comment 1f8c8f42e51 Cleanup bootstrap check-cfg 6c38c60873f Rollup merge of rust-lang#126980 - Borgerr:fix-extendfromslice-check, r=workingjubilee a2dc9b539e3 Rollup merge of rust-lang#126929 - nnethercote:rm-__rust_force_expr, r=oli-obk cf231e8ada7 Merge from rustc a8b311eb853 Auto merge of rust-lang#126608 - tgross35:f16-f128-library, r=Mark-Simulacrum 4788a93eee2 std: test a variety of ways to extend a Wtf8Buf 57c2de81f2b set self.is_known_utf8 to false in extend_from_slice c14a130aa4a Rollup merge of rust-lang#126879 - the8472:next-chunk-filter-drop, r=cuviper f6fdef3996a core: avoid `extern` types in formatting infrastructure 43a865ad540 fix UI test, simplify error message ff33a6672e7 regression test for leaks in the the Filter::next_chunk implementation f90972a4104 add comments explaining optimizations for Filter::next_chunk 4039a7f34e7 fix Drop items getting leaked in Filter::next_chunk 0351c5316c0 Simplify `str::clone_into` 5aedb8ada69 Rollup merge of rust-lang#126946 - cyrgani:patch-1, r=compiler-errors 5664da3fcac Rollup merge of rust-lang#126927 - workingjubilee:vaargsafe-is-unsafe, r=joboet 927337346fd Rollup merge of rust-lang#126885 - Borgerr:rm_internal_pathbuf_asmutvec, r=workingjubilee 46074aad759 Rollup merge of rust-lang#126302 - mu001999-contrib:ignore/default, r=michaelwoerister 0fe53622318 Stabilize const unchecked conversion from u32 to char 9dcaa15a8dc std: separate TLS key creation from TLS access 5d08a54141c Detect unused structs which derived Default e6c45e4a711 `PathBuf::as_mut_vec` removed and verified for UEFI and Windows platforms rust-lang#126333 7cec6ef8d5e remove references to `PathBuf::as_mut_vec` in `PathBuf::_set_extension` 37f78f46760 inner truncate methods for UEFI platforms cfb802176cb rust-lang#126333 remove `PathBuf::as_mut_vec` reference at top of `PathBuf::_push` 3edb521863d simd_bitmask intrinsic: add a non-power-of-2 multi-byte example 2ddf7942352 Add missing slash in const_eval_select doc comment 19cfdb2c317 Add tests for `f16` and `f128` 561daffd3f5 Add more `f16` and `f128` library functions and constants 6cb3d34841e Add doctests to existing `f16` and `f128` functions b0e050324f9 Add build.rs config for reliable `f16` and `f128` 028026b9b30 Remove `__rust_force_expr`. 1069a689007 core: VaArgSafe is an unsafe trait a451b2a9f8b Auto merge of rust-lang#126852 - scottmcm:more-checked-math-tweaks, r=Amanieu 17d03b950a4 Check that we get somewhat sane PIDs when spawning with pidfds 4c9a96eebda more fine-grained feature-detection for pidfd spawning bf06e436d4a document safety properties of the internal Process::new constructor 9212236fc18 use pidfd_spawn for faster process creation when pidfds are requested 4815f2968d4 document the cvt methods 1bd207e6b0a Rollup merge of rust-lang#126904 - GrigorenkoPV:nonzero-fixme, r=joboet 2676918a59b Rollup merge of rust-lang#125575 - dingxiangfei2009:derive-smart-ptr, r=davidtwco 9dcffa5782f Rollup merge of rust-lang#125082 - kpreid:const-uninit, r=dtolnay cf34f71c117 Replace `MaybeUninit::uninit_array()` with array repeat expression. e51d8a2224f Auto merge of rust-lang#126523 - joboet:the_great_big_tls_refactor, r=Mark-Simulacrum 2b8c7a3813f Small fixme in core now that split_first has no codegen issues 532304befc3 Small fixme in core now that NonZero is generic 5ae0378035a std: fix wasm builds ae08c581475 Rollup merge of rust-lang#126213 - zachs18:atomicbool-u8-i8-from-ptr-alignment, r=Nilstrieb 071e80d6c4a Fix simd_gather documentation 0c4a661ebdf wasm64 build with target-feature=+simd128,+atomics 36a20f7b383 Reword docs for `f32` and `f64` 6839ec5efd2 Extract repeated constants from `f32` and `f64` source c26bd79991f Rollup merge of rust-lang#126854 - devnexen:std_unix_os_fallback_upd, r=Mark-Simulacrum 828e528d416 Rollup merge of rust-lang#126807 - devnexen:copy_file_macos_simpl, r=Mark-Simulacrum e4bc79db7fe Also get `add nuw` from `uN::checked_add` 7c83a041921 SmartPointer derive-macro f0b95fcce71 fix build 12ec5b7b691 Rollup merge of rust-lang#126783 - tguichaoua:fix_tcplistener_into_incoming_issue_number, r=workingjubilee eb265d0841e std::unix::os::home_dir: fallback's optimisation. a48f3d6475d Auto merge of rust-lang#126838 - matthiaskrgr:rollup-qkop22o, r=matthiaskrgr ec8af4b3c06 Rollup merge of rust-lang#126552 - fee1-dead-contrib:rmfx, r=compiler-errors 6d6ba925574 Rollup merge of rust-lang#126140 - eduardosm:stabilize-fs_try_exists, r=Amanieu e1edea8f3a4 Auto merge of rust-lang#116113 - kpreid:arcmut, r=dtolnay 49d4fdb09f1 Generalize `{Rc,Arc}::make_mut()` to unsized types. 5ac719ed6a2 Replace `WriteCloneIntoRaw` with `CloneToUninit`. a4ca461939e Add `core::clone::CloneToUninit`. 78368435c65 Auto merge of rust-lang#126750 - scottmcm:less-unlikely, r=jhpratt 934e7286794 Auto merge of rust-lang#124101 - the8472:pidfd-methods, r=cuviper c2ec99b6637 to extract a pidfd we must consume the child f7cf777c00b Add PidFd::{kill, wait, try_wait} d688595fa6c std::unix::fs: copy simplification for apple. bb602cf940d Auto merge of rust-lang#125853 - tesuji:promote-fail-fast, r=cjgillot 1f1793634b4 update intrinsic const param counting 5e7ce0bad23 Remove `feature(effects)` from the standard library 8902c171c30 Auto merge of rust-lang#126781 - matthiaskrgr:rollup-5u4pens, r=matthiaskrgr 54eaed7e5ef fix issue number 2e01ae34277 Rollup merge of rust-lang#126613 - tgross35:log-test-update, r=cuviper 306d7bf153a Stop using `unlikely` in `strict_*` methods a8ab1ceb396 [GVN] Add tests for generic pointees with PtrMetadata a272844a6e1 Don't perform mitigation for thread-unsafe libc::exit under Miri. 5035a17dec1 fix rustdoc URL 1530977b9a5 On `target_os = "linux"`, ensure that only one Rust thread calls `libc::exit` or returns from `main`. 7e940ba00cf Auto merge of rust-lang#126578 - scottmcm:inlining-bonuses-too, r=davidtwco 9a945fdf0e9 Auto merge of rust-lang#124032 - Voultapher:a-new-sort, r=thomcc dbaf524df30 Rollup merge of rust-lang#126737 - fee1-dead-contrib:rm-const-closures, r=compiler-errors 0f6922d6272 Fix wrong big O star bracing in the doc comments 7bf7f578614 Remove `feature(const_closures)` from libcore b4e2e4ac6e9 Auto merge of rust-lang#126736 - matthiaskrgr:rollup-rb20oe3, r=matthiaskrgr 0829ab8d1b7 Rollup merge of rust-lang#126717 - nnethercote:rustfmt-use-pre-cleanups, r=jieyouxu f1c9c809b1f Rollup merge of rust-lang#126711 - GKFX:const-option-as-slice, r=oli-obk e0572323ddb Auto merge of rust-lang#116088 - nbdd0121:unwind, r=Amanieu,RalfJung 13ea648b170 Stabilize `PanicInfo::message()` and `PanicMessage` b6a38581515 Rollup merge of rust-lang#126703 - the8472:on-blackbox-crypto-use, r=scottmcm 847726d1be8 Shrink some slice iterator MIR 1ba2fa4b637 Stabilize `hint_assert_unchecked` 9d0041c40d7 Update documentation for `hint::assert_unchecked` e3e84a75a9b Add blank lines after module-level `//` comments. 36ad0db0a23 Add blank lines after module-level `//!` comments. 4e67110a2fb Convert some module-level `//` and `///` comments to `//!`. 669d6fce08c Make Option::as_[mut_]slice const 4ae781cb5e2 reword the hint::blackbox non-guarantees dd7c901e95d core: add tracking issue for `array::repeat` 5ddeaca202b core: simplify implementation of `array::repeat`, address other nits 62f7a4e4e92 core: implement `UncheckedIterator` for `RepeatN` 387fd1f34c6 core: implement `array::repeat` 3fc18d0b40c Add a hack to prevent proc_macro misopt in CI a95938d6730 Stabilise c_unwind 2a5e5b887ef Rollup merge of rust-lang#125787 - Oneirical:infinite-test-a-novel, r=jieyouxu 227994dbde2 try implementing suggestions 78867ab1aa0 run_make_support nm implementation + bin-emit-no-symbols rmake rewrite 76e61bf77a6 Replace `move||` with `move ||` in `compiler/` and `library/` 13a31b63b4f Auto merge of rust-lang#126330 - m-ou-se:panic-message-type, r=Amanieu 42802a3a09e Print the tested value in int_log tests ea1ab74eb6d Add missing CopyMarker impl 384c2054629 Revert panic_safe test changes ca458bac5ae Add PanicMessage type for PanicInfo::message(). 22389455823 Add tracking issue to async_drop API 0b3227b6dac std: rename module for clarity 2b9a4f38bd6 std: update TLS module documentation 00d4964bb22 std: use the `c_int` from `core::ffi` instead of `libc` bd3b9eca35a std: simplify `#[cfg]`s for TLS 78eaad5fb0a Fix unintended regression for Freeze + Copy types 8cd20cb8dc1 Auto merge of rust-lang#126569 - jieyouxu:rollup-1uvkb2y, r=jieyouxu c1acd7a6844 Rollup merge of rust-lang#126531 - slanterns:error_provider, r=workingjubilee cd1c9984d30 Rollup merge of rust-lang#126468 - RalfJung:euclid, r=Mark-Simulacrum 27308799efa Rollup merge of rust-lang#126346 - hermit-os:fd, r=Amanieu ebbce699236 Rollup merge of rust-lang#126288 - x4exr:patch-1, r=dtolnay 4aa43c72385 Auto merge of rust-lang#125720 - folkertdev:optimize_for_size-ptr-rotate, r=Amanieu 791232945c4 doc: Added commas where needed 48e157873f1 Fix doc-link issue 489dfceabae Remove reliance on const_trait in sort implementations 89b578450c9 std: move `sys_common::backtrace` to `sys` 90dbe22a287 use rustc-dep-of-std in panic_unwind 6832ad31e1c Rollup merge of rust-lang#126539 - lukaslueg:patch-1, r=jhpratt 04e46c2630d Rollup merge of rust-lang#125112 - tbu-:pr_create_dir_all_empty, r=dtolnay e77b4744b48 Update `Arc::try_unwrap()` docs 83c530fb2f8 Apply review comments ae7f43eda80 Auto merge of rust-lang#126299 - scottmcm:tune-sliceindex-ubchecks, r=saethlin 339f26630a2 Redo SliceIndex implementations 2388743f251 update comment 4cc1c37692c Rollup merge of rust-lang#126229 - ChrisDenton:bindgen, r=Mark-Simulacrum b40c54bb5bc std: refactor the TLS implementation 7e3c4f82606 Auto merge of rust-lang#126518 - matthiaskrgr:rollup-wb70rzq, r=matthiaskrgr 26785938493 std: suggest OnceLock over Once b509ed20612 Polish `std::path::absolute` documentation. c3c175798d2 Auto merge of rust-lang#126473 - matthiaskrgr:rollup-8w2xm09, r=matthiaskrgr a135342704a Rollup merge of rust-lang#126285 - kpreid:unique-rc, r=dtolnay 7fafb6d366e Rollup merge of rust-lang#126266 - tbu-:pr_doc_alloc_default_system, r=jhpratt afee9f5e11d Rollup merge of rust-lang#126135 - hermit-os:fuse, r=jhpratt 4a32b4bcf84 Rollup merge of rust-lang#123769 - dtolnay:literal, r=fee1-dead 3909d510924 div_euclid, rem_euclid: clarify/extend documentation ca52a2ca0e3 Rollup merge of rust-lang#126351 - devnexen:to_sol11_upd, r=ChrisDenton 369fa557b2f Rollup merge of rust-lang#126402 - firefighterduck:fix-unsafe-precon-copy, r=Nilstrieb 2acb995e558 Rollup merge of rust-lang#126390 - Kriskras99:master, r=Nilstrieb b3c1dcb8a6b Rollup merge of rust-lang#126360 - compiler-errors:uplift-structural-traits, r=lcnr bdb9aa2f3cd Rollup merge of rust-lang#123726 - jieyouxu:command-new-docs, r=Nilstrieb 307d1afdbd4 Remove superfluous escaping from byte, byte str, and c str literals 78d94eeb0ff LangItem-ify Coroutine trait in solvers 891f00ce0fd fix wrong assert_unsafe_precondition message for core::ptr::copy 9adf702cc46 Rollup merge of rust-lang#126384 - RalfJung:is_none_or, r=workingjubilee 02cb1e9e580 Rollup merge of rust-lang#126347 - slanterns:try_simplify, r=scottmcm fa2a54a54c6 Fix wording in {checked_}next_power_of_two 3ef894f8bc5 add tracking issue for is_none_or a5fe19dc0bd std::unix::fs::link using direct linkat call for Solaris and macOs. 9921cd25ed1 Rollup merge of rust-lang#126328 - RalfJung:is_none_or, r=workingjubilee 93583a69853 Simplify `try_*` on `Iterator` 47090b15fb8 export std::os::fd module on HermitOS 17c90d81d23 Auto merge of rust-lang#126273 - pietroalbini:pa-bootstrap-update, r=Mark-Simulacrum b482e06e29c add is_none_or 027c82e6edc Rollup merge of rust-lang#126322 - m-ou-se:panicinfo-and-panicinfo-2, r=RalfJung db03ec6a89e Rollup merge of rust-lang#126242 - yaahc:simplify-provider, r=jhpratt 956efdef025 Rollup merge of rust-lang#126039 - dpaoliello:arm64ecbuild, r=davidtwco 3acb41fba7c Fix deprecated version. bc5e618edd3 Update doc comment on PanicInfo::message(). 249d63e985c Use payload_as_str instead of two downcasts. 15677e9f865 Fix deprecation version. a239d5bf0e1 Clarify doc comment. 209f8c80d1f Auto merge of rust-lang#126319 - workingjubilee:rollup-lendnud, r=workingjubilee 6ec98e76fb6 Rollup merge of rust-lang#126305 - workingjubilee:fix-os-string-to-string-utf8-invariant, r=joboet 80467da88db Rollup merge of rust-lang#126287 - nnethercote:reformat-cranelift-patch, r=bjorn3 5760a4e9d4e Rollup merge of rust-lang#126281 - ChrisDenton:env, r=jhpratt 439c2ae36dc Rollup merge of rust-lang#126249 - workingjubilee:simplify-try-map-signature, r=scottmcm 23e3dbf043a Rollup merge of rust-lang#126210 - lolbinarycat:ptr_doctest_assert, r=workingjubilee d46939470bf Rollup merge of rust-lang#123374 - mgeier:doc-slice-from-raw-parts, r=scottmcm 63fe960c257 Require any function with a tait in its signature to actually constrain a hidden type e1d73c2d74a Revert "Rollup merge of rust-lang#125362 - joboet:tait_hack, r=Nilstrieb" 382ed528dc8 Make PathBuf less Ok with adding UTF-16 then `into_string` 548e7a4135e Update a cranelift patch file for formatting changes. 8ccbe9e6c8a `UniqueRc`: support allocators and `T: ?Sized`. b3dcee69396 set_env: State the conclusion upfront f56c02311ee Rename `std::fs::try_exists` to `std::fs::exists` and stabilize fs_try_exists c16d8b1f7a5 Unify guarantees about the default allocator d8fe5899dc8 remove cfg(bootstrap) a2ff49b68b4 replace version placeholder f72e4a99cd5 Formatting. 0503ca79148 Bump deprecation of std's PanicInfo alias to 1.82.0. fea6b035e61 Add PanicHookInfo::payload_as_str(). 0c8a9e06b97 Fix display of panic message in recursive panic. 2f85702e572 Mention core's PanicInfo in error.md. ad0667f9724 Add note on panic payload type. 518722eccfc Downcast panic payload to String too in example. c4dea816f7f Move deprecation of std::panic::PanicInfo to 1.80.0. 143e4c4a40e Fix deprecation version. c6749ae5b90 Rename std::panic::PanicInfo to PanicHookInfo. db2e05588c5 Formatting. 51f20ac6148 Fix invalid markdown/html. d4b7304c0de Reorder body of begin_panic for consistency. 373fb60b119 Impl Display for PanicPayload to simplify things. 224d45cf15c Use unnamed lifetimes for [..]Payload impl blocks. cf984e0e154 Move downcasting panic payload to str to a function. a18eeac0a12 Mark some PanicInfo methods as #[inline] for consistency. 47f359bc210 Remove std::panic::PanicInfo::internal_constructor+set_payload. 701d6a23254 Remove core::panic::PanicInfo::internal_constructor. cca865dd137 Update doc comment about core::panicking. 221a90ccb77 Fix doc link. d6658a5e3dd Add core::panic::PanicInfo::payload() for compatibility. ca0bfebc0fe Document difference between core and std's PanicInfo. 702405ed414 Split core's PanicInfo and std's PanicInfo. 483f641ee13 Simplify `[T; N]::try_map` signature 8b6f468edd8 Simplify provider api to improve llvm ir c8170e67b53 Rollup merge of rust-lang#126212 - SteveLauC:fix/haiku, r=joboet 58bb5cfddf4 Rollup merge of rust-lang#126191 - ivan-shrimp:nonzero_doc, r=scottmcm d2f8ddfcc21 Bump windows-bindgen to 0.57 02bf1521553 Clarify `Command::new` behavior if passed programs with arguments e17d6b968b4 Remove some unused crate dependencies. 5840184c348 Update docs for AtomicU8/I8. 87915497e69 fix: build on haiku 263861f45c9 Update safety docs for AtomicBool::from_ptr. e25ae61e2b5 docs(core): make more const_ptr doctests assert instead of printing cf9de23d66b Auto merge of rust-lang#126205 - jieyouxu:rollup-s64z5ng, r=jieyouxu c5da756bc2a Rollup merge of rust-lang#126194 - ChrisDenton:winerror, r=Mark-Simulacrum c4bd74c1902 Rollup merge of rust-lang#125253 - sunsided:feature/FRAC_1_SQRT_PI, r=Mark-Simulacrum c9c5d8f0189 Auto merge of rust-lang#126193 - RalfJung:miri-sync, r=RalfJung e39299d577e Migrate more things to WinError 0df0a38c38b fix `NonZero` doctest inconsistencies 818933db00d Rollup merge of rust-lang#126168 - devnexen:current_exe_haiku_simpl, r=ChrisDenton a9bd5698ac7 Rollup merge of rust-lang#126146 - devnexen:signal_fbsd, r=ChrisDenton 05812a0309b Merge from rustc 56bdaf3dfb3 std::unix::os current_exe implementation simplification for haiku. e6c378f9a8e Auto merge of rust-lang#125966 - schvv31n:impl_os_string_pathbuf_leak, r=workingjubilee e000ecbd84a std::unix::process adding few specific freebsd signals to be able to id. 67454f58555 Rollup merge of rust-lang#126138 - wbk:patch-1, r=lqd ca932c80555 Rollup merge of rust-lang#125998 - devnexen:get_mode_illumos, r=Nilstrieb 397e9cbe400 Rollup merge of rust-lang#125951 - slanterns:error_in_core_stabilization, r=Amanieu 4655eca9735 Fix typo in docs for std::pin bb2e2d9fc7d add HermitOS support of vectored read/write operations dd7ccb77633 Rollup merge of rust-lang#126089 - wutchzone:option_take_if, r=scottmcm 199da77e638 Rollup merge of rust-lang#126030 - ChrisDenton:update-wingen-readme, r=Mark-Simulacrum 8a4b11aa65d Rollup merge of rust-lang#124012 - slanterns:as_slice_stabilize, r=BurntSushi 05a92c2d02b Auto merge of rust-lang#126110 - workingjubilee:backtrace-0.3.73, r=workingjubilee cd73cbea88a Update backtrace to 0.3.73 c6e53ce2b1a Merge from rustc 3b603356225 Rollup merge of rust-lang#125606 - diondokter:opt-size-int-fmt, r=cuviper 7014731c32e fix doc comments about `error_generic_member_access` 3f4816887c7 Stabilize `error_in_core` 20f15f4d41a fixed memory leaks in PathBuf::leak & OsString::leak tests fa66a61d655 Rollup merge of rust-lang#126096 - c410-f3r:tests-tests-tests, r=jhpratt 57369442f0d [RFC-2011] Allow `core_intrinsics` when activated dfddd7e5a86 Stabilize Option::take_if 051c6c60977 Raise `DEFAULT_MIN_STACK_SIZE` to at least 64KiB 29932f32723 Auto merge of rust-lang#126038 - matthiaskrgr:rollup-h4rm3x2, r=matthiaskrgr 149a2370c6e Promote `arm64ec-pc-windows-msvc` to tier 2 4a81c121a38 Rollup merge of rust-lang#126032 - ChrisDenton:update-docs, r=joboet 7450cf043b4 Rollup merge of rust-lang#125800 - fortanix:raoul/rte-99-fix_mut_static_task_queue, r=jethrogb ed91d5578b4 Rollup merge of rust-lang#125940 - devnexen:unix_fs_netbsd_get_path, r=cuviper bf7430fdc68 Update description of the `IsTerminal` example 91c8b231664 Update `./x fmt` command 16321651051 Rollup merge of rust-lang#125995 - kpreid:const-uninit-stable, r=Nilstrieb 2c5f1acc4c1 Rollup merge of rust-lang#125982 - xTachyon:fix-linked-list, r=jhpratt 80cee25cbad Rollup merge of rust-lang#123168 - joshtriplett:size-of-prelude, r=Amanieu 28dc012bfbf std::unix::fs::get_mode implementation for illumos/solaris. 14a6f295bcd Use inline const instead of unsafe to implement `MaybeUninit::uninit_array()`. a2c3406e626 Use inline const instead of unsafe to construct arrays in `MaybeUninit` examples. f8ee355f9c4 Rollup merge of rust-lang#125932 - schvv31n:patch-1, r=lqd 49dad463287 Rollup merge of rust-lang#125927 - ferrocene:lw-alloc-unwind-test, r=pietroalbini e38c13a5962 Rollup merge of rust-lang#125696 - workingjubilee:please-dont-say-you-are-lazy, r=Nilstrieb 1764910ce42 Rollup merge of rust-lang#106186 - rossmacarthur:ft/iter-chain, r=Amanieu fbb5246b92c Make deleting on LinkedList aware of the allocator 85aa4b6ae53 impl OsString::leak & PathBuf::leak b19dd145ea9 Add function `core::iter::chain` 25245bba3d9 Rollup merge of rust-lang#125919 - tbu-:pr_fix_typo, r=lqd a415dddaa0d Rollup merge of rust-lang#125504 - mqudsi:once_nominal, r=cuviper ea7e91c6357 Let compiler auto impl `Send` for `Task` 55f3d10071c Store `Task::p` as `dyn FnOnce() + Send` 92b604f475f Pass function for `Thread` as `Send` to `Thread::imp` 175ad227af0 Auto merge of rust-lang#125525 - joboet:tls_accessor, r=cuviper 31e0022e8f2 std::unix::fs::get_path: using fcntl codepath for netbsd instead. 82e24ad44cd Fix typo in the docs of `HashMap::raw_entry_mut` fcc07af4e3a Ignore `vec_deque_alloc_error::test_shrink_to_unwind` test on non-unwind targets 6ef46b31227 Auto merge of rust-lang#125912 - nnethercote:rustfmt-tests-mir-opt, r=oli-obk 79271381c4f Remove stray "this" 06d9b0e9397 Add "OnceList" example to motivate OnceLock 6d001c57db6 Move first OnceLock example to LazyLock 7e47256ddbf Differ LazyLock vs. OnceLock in std::sync overview a198721997c Explain LazyCell in core::cell overview ae5598aabc3 Reformat `mir!` macro invocations to use braces. 494f05c1d78 Rollup merge of rust-lang#125898 - RalfJung:typo, r=Nilstrieb 7881d33deef Rollup merge of rust-lang#125884 - Rua:integer_sign_cast, r=Mark-Simulacrum 380d9a3d410 Rollup merge of rust-lang#121062 - RustyYato:f32-midpoint, r=the8472 81b9e26560b Wording of the documentation 1c707b64249 typo: depending from -> on fe5adb924fb Auto merge of rust-lang#125577 - devnexen:netbsd_stack_min, r=joboet 876458ec8a2 Implement feature `integer_sign_cast` e929c7fda65 Change f32::midpoint to upcast to f64 cd0400080d5 Auto merge of rust-lang#124294 - tspiteri:ilog-first-iter, r=the8472 7f0b19dd24d stablize `const_binary_heap_constructor` & create an unstable feature `const_binary_heap_new_in` for `BinaryHeap::new_in` 5c2e2744f32 Rollup merge of rust-lang#125730 - mu001999-contrib:clippy-fix, r=oli-obk 9fe18037b50 Auto merge of rust-lang#124662 - zetanumbers:needs_async_drop, r=oli-obk 894310362d5 Avoid `mut` and simplify initialization of `TASK_QUEUE` ba98164a104 Auto merge of rust-lang#124636 - tbu-:pr_env_unsafe, r=petrochenkov bbaaa79ab59 Rollup merge of rust-lang#125746 - jmillikin:duration-from-weeks-typo, r=lqd 1329a62eb9e Rollup merge of rust-lang#125739 - RalfJung:drop-in-place-docs, r=workingjubilee 8883bcf630b Rollup merge of rust-lang#125342 - tbu-:pr_doc_write, r=ChrisDenton 14d5dcb4160 explain what the open questions are, and add a Miri test for that 6f01ba7ade6 Apply x clippy --fix and x fmt c9c0713ee9b Fix copy-paste error in `Duration::from_weeks` panic message. e935223b1b8 Rollup merge of rust-lang#125733 - compiler-errors:async-fn-assoc-item, r=fmease 4feb8819521 Elaborate about modifying env vars in multi-threaded programs 25007197aef Add note about safety of `std::env::set_var` on Windows c4b1ff893a1 Make `std::env::{set_var, remove_var}` unsafe in edition 2024 07d3009644f drop_in_place: weaken the claim of equivalence with drop(ptr.read()) 99eabb47fb4 Add lang item for AsyncFnKindHelper::Upvars a8f468f97f8 Add lang item for Future::Output 2e1896e1976 Add lang items for AsyncFn's associated types d82378a11dd [ACP 362] genericize `ptr::from_raw_parts` 619e33b0691 Add FRAC_1_SQRT_2PI doc alias to FRAC_1_SQRT_TAU 12652447f15 make `ptr::rotate` smaller when using `optimize_for_size` bb6d4eb5be6 Add safety comment to fix tidy c8b699c1ab2 Optimize async drop glue for some old types 0444ab852cd Add FRAC_1_SQRT_2PI constant to f16/f32/f64/f128 1aaf0a9adac Rollup merge of rust-lang#125226 - madsmtm:fix-mac-catalyst-tests, r=workingjubilee 565dce2d3fe Rollup merge of rust-lang#124251 - scottmcm:unop-ptr-metadata, r=oli-obk a4025eba8f9 Add custom mir support for `PtrMetadata` 87b9f244814 Add an intrinsic for `ptr::metadata` 914d2c03f3a Rollup merge of rust-lang#125637 - nnethercote:rustfmt-fixes, r=GuillaumeGomez 3170156cbf5 Make more of the test suite run on Mac Catalyst 9753338652f Disable stack overflow handler tests on iOS-like platforms 35483898acf Don't format `tests/run-make/*/rmake.rs`. 6fcf1300f8b Rollup merge of rust-lang#125647 - tspiteri:track-lazy_cell_consume, r=workingjubilee 385e1b87512 Rollup merge of rust-lang#125551 - clarfonthey:ip-bits, r=jhpratt 457f5eebf4b update tracking issue for lazy_cell_consume 893db811403 Auto merge of rust-lang#125636 - workingjubilee:bump-backtrace-0.3.72, r=workingjubilee 67858588bb6 Sync libstd deps with backtrace b2148722d86 Bump backtrace to 0.3.72 0ef7706b6c1 Auto merge of rust-lang#125609 - diondokter:opt-size-char-count, r=thomcc 3578f429478 Rollup merge of rust-lang#124870 - Lokathor:update-result-docs, r=dtolnay d4fb66bf7aa Always use the general case char count 1e8098b6dd4 Size optimize int formatting a74509c7872 Rollup merge of rust-lang#125559 - scottmcm:simplify-shift-ubcheck, r=workingjubilee bc346a0aedb Auto merge of rust-lang#122079 - tbu-:pr_copy_file_range_probe, r=the8472 fdcee4d0921 std::pal::unix::thread fetching min stack size on netbsd. d14171db7a1 Auto merge of rust-lang#125574 - matthiaskrgr:rollup-1oljoup, r=matthiaskrgr 3e545bcb6f3 Rollup merge of rust-lang#125571 - tesuji:dummy-pi, r=Nilstrieb 840944248ea Rollup merge of rust-lang#125561 - Cyborus04:stabilize-slice-flatten, r=scottmcm 8981ee4ff26 Auto merge of rust-lang#125570 - tesuji:stdout-handle, r=Nilstrieb addaaed02ce f32: use constants instead of reassigning a dummy value as PI 8a6d10d57b7 use proper name instead of magic number 64671fa9e4b Stabilize `slice_flatten` 40140819538 Auto merge of rust-lang#125070 - tbu-:pr_set_extension_panic, r=jhpratt f54c5577ff7 Auto merge of rust-lang#125518 - saethlin:check-arguments-new-in-const, r=joboet a4bac2bc347 It seems that anchor names are implicitly all lowercase 7cddfd46930 Simplify the `unchecked_sh[lr]` ub-checks a bit 805f56b8e16 Fix URL target, it's in the module not the type. 3b77f19a9a8 github showed that weird. 65726c04182 correct for copy paste errors when fixing wrapping. 613145f6c4e Resolve rust-lang#124870 (comment) 9677b7057a8 revert to the inconsistent paragraph wrapping. bf3ca983d95 Rollup merge of rust-lang#124667 - newpavlov:stabilize_div_duration, r=jhpratt 4af28c44c31 Rollup merge of rust-lang#123803 - Sp00ph:shrink_to_fix, r=Mark-Simulacrum 79e1daf6925 Rollup merge of rust-lang#122986 - taiki-e:aix-c-char, r=Mark-Simulacrum 0b13a6c1235 Rollup merge of rust-lang#121377 - pitaj:lazy_cell_fn_pointer, r=dtolnay b1ac7da4a90 Stabilise ip_bits feature 23bb5bc4f4f Auto merge of rust-lang#121571 - clarfonthey:unchecked-math-preconditions, r=saethlin c11b36abf02 Rollup merge of rust-lang#125527 - programmerjake:patch-2, r=workingjubilee d6812d57a9e Rollup merge of rust-lang#125498 - zmodem:avx512er, r=workingjubilee f52291bef6b Rollup merge of rust-lang#125478 - Urgau:check-cfg-config-bump-stage0, r=Mark-Simulacrum 38dcab941d6 Rollup merge of rust-lang#125271 - RalfJung:posix_memalign, r=workingjubilee 29a1b3b9ffd Move the checks for Arguments constructors to inline const 5257f3f01ac Add manual Sync impl for ReentrantLockGuard 078095a8b94 std: make TLS accessors closures that return pointers 567096dab49 Rollup merge of rust-lang#125497 - meesfrensel:patch-1, r=calebzulawski dd828cf426c Stop using the avx512er and avx512pf x86 target features 749b3766746 Change pedantically incorrect OnceCell/OnceLock wording 2b1602ae72f Fix some SIMD intrinsics documentation 59b5617f8ce Remove now outdated comment since we bumped stage0 6d1cdb564d6 Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods 8fa3f607e33 Document behavior of `create_dir_all` wrt. empty path dd196e7c132 Document platform-specifics for `Read` and `Write` of `File` a71d9d9f8e9 Fix c_char on AIX ce3db1b638a fix typo 49138842df5 use posix_memalign on most Unix targets 86878b964b1 Fix linkchecker doc errors 1bf7a30d31a Turn bare links into automatic links 736b2250797 Move BufGuard impl outside of function a44e7b3adea Fix tidy errors 36af6395634 Replace sort implementations 48a835b093a Divide float nanoseconds instead of seconds f84d57f6cc3 Don't use `T` with both Result and Option, improve explanation. 88338ff820a Add `size_of`, `size_of_val`, `align_of`, and `align_of_val` to the prelude 5d56638742b Panic if `PathBuf::set_extension` would add a path separator 7db52fca9b3 Add fn allocator method to rc/sync::Weak. Relax Rc<T>/Arc<T>::allocator to allow unsized T. 43bf016caa3 Suggest borrowing on fn argument that is `impl AsRef` 50d5af44701 use teletype on the attribute name 43ae1871a8b Some Result combinations work like an Option. d0c07aa8677 Move `test_shrink_to_unwind` to its own file. d77b1cc251a Fix `VecDeque::shrink_to` UB when `handle_alloc_error` unwinds. 0342284416b Use `CURRENT_RUSTC_VERSION` 9eb77db22f6 Stabilize `div_duration` 7a6ddb35da6 Lift the probe code of `copy_file_range` into a function f5305c1c49a Add missing .into_iter() 2a5af324d19 Extend the example code and assert the result 678e5a09970 Add "safety" comment ad38f9b8000 unroll first iter of checked_ilog loop to save one multiplication dbd03d4517e Stabilize `BinaryHeap::as_slice` 08f761fb838 DOC: Add FFI example for slice::from_raw_parts() 30c876cbfb4 Be stricter with `copy_file_range` probe results fe052461e10 Less syscalls for the `copy_file_range` probe 511fe47e8ea Stabilize `LazyCell` and `LazyLock` (`lazy_cell`) git-subtree-dir: library git-subtree-split: 5e4edbadcb79ec757e656770b177f46201c3da8f
a2cf63619d7 Rollup merge of rust-lang#127813 - ChrisDenton:win-futex, r=joboet aeae3328f01 Rollup merge of rust-lang#127763 - ChrisDenton:safe-unsafe-unsafe, r=tgross35 e0ea7017a67 Prevent double reference in generic futex 417b61f271f Narrow the scope of the ReadFile unsafe block b4d1392064c forbid(unsafe_op_in_unsafe_fn) in sys/os_str f431b519c02 Rollup merge of rust-lang#127836 - workingjubilee:forbid-unsafe-ops-in-xous-uefi, r=tgross35 0a024bda728 Rollup merge of rust-lang#127833 - risc0:erik/zkvm-deny-unsafe, r=workingjubilee 0299bb5f196 Rollup merge of rust-lang#127807 - ChrisDenton:win-parking, r=joboet 61af010c325 Rollup merge of rust-lang#127792 - workingjubilee:read-unaligned-is-dwarfier, r=joboet d3cf2e16181 Rollup merge of rust-lang#127444 - Sky9x:cstr-bytes-iter, r=dtolnay 12075d15f76 Rollup merge of rust-lang#126776 - nnethercote:rustfmt-use-pre-cleanups-2, r=cuviper 00d603fc9c1 Rollup merge of rust-lang#126271 - diondokter:dec2flt-skip-fast-path, r=tgross35 8490c84ffb2 Rollup merge of rust-lang#125206 - mgeisler:simplify-std-env-vars, r=jhpratt,tgross35 a752e3b2772 uefi: Forbid unwrapped unsafe in platform modules 32a1b078ba4 Cfg nit e189d3b30e1 xous: Forbid unwrapped unsafe in platform modules 7ddd7f86509 zkvm: add `#[forbid(unsafe_op_in_unsafe_fn)]` in `stdlib` 0723962ffe1 Adjust some comments on individual `use` declarations. 4320ba0a9b5 Avoid comments that describe multiple `use` items. 1aeddb00b1e Merge some `core::iter` entries. 7a0b2fb5e16 Add unsafe blocks in unsafe Thread::new 8e76b152b93 Remove `slice_to_end` e8527cdadb6 std: unwrapped unsafe is VERBOTEN! 5e4edbadcb7 Rollup merge of rust-lang#127789 - Sword-Destiny:master, r=petrochenkov 1b631e5f140 Use futex.rs for Windows thread parking d59f862b675 std: Use read_unaligned for reading DWARF 686f75bb7a6 Rollup merge of rust-lang#127047 - tspiteri:f128-aconsts-lsd, r=tgross35 8b1d874a6ec deny unsafe_op_in_unsafe_fn for teeos f8bb325e1cf clean unsafe op in unsafe fn b5970178b63 clean unsafe op in unsafe fn 9fd9c61c0ef clean unsafe op in unsafe fn e0c57e42237 delete #![allow(unsafe_op_in_unsafe_fn)] 704f56f5d84 `impl Send + Sync` and override `count` for the `CStr::bytes` iterator a778c83ad92 Auto merge of rust-lang#127777 - matthiaskrgr:rollup-qp2vkan, r=matthiaskrgr 65355912072 Rollup merge of rust-lang#124921 - RalfJung:offset-from-same-addr, r=oli-obk ac443f29c05 Auto merge of rust-lang#127020 - tgross35:f16-f128-classify, r=workingjubilee 57937d7f2bd allow(unsafe_op_in_unsafe_fn) on some functions 94b381d6fc6 Some Windows functions are safe f3bb34b1088 Deny more windows unsafe_op_in_unsafe_fn eae94518584 Rollup merge of rust-lang#127750 - ChrisDenton:safe-unsafe-unsafe, r=workingjubilee 6257980b38d Rollup merge of rust-lang#127744 - workingjubilee:deny-unsafe-op-in-std, r=jhpratt 05614f3ce16 Rollup merge of rust-lang#127712 - ChrisDenton:raw-types, r=workingjubilee 14c24b1ba4c Mark some `f16` and `f128` functions unstably const 1b70afd5267 Move safety comment outside unsafe block 3c286d52b7d Make os/windows default to deny unsafe in unsafe d96ed862d21 Make pal/windows default to deny unsafe in unsafe bb3f60f0e69 Fix Windows 7 9fc6710fe07 Auto merge of rust-lang#127719 - devnexen:math_log_fix_solill, r=Amanieu decdb067d63 Don't re-export `c_int` from `c` a1a1c6a2d51 Remove DWORD 7d189919173 Remove ULONG d89bce6a28b Remove PSRWLOCK d3205de3d53 Remove LPVOID 68ac381171e Remove LPSECURITY_ATTRIBUTES 6d037b83d39 Remove LPOVERLAPPED 61f617d370a Remove LPCVOID 8a2537133ee Remove SIZE_T cd51de1f064 Remove CHAR 00a5b3b8733 Remove USHORT d621d21f702 Remove LPWSTR 0b22ecb55af Remove UINT 18adceff5ae Remove LONG 4eaaf7dcb61 Remove LARGE_INTEGER aa45985349c Remove NonZeroDWORD d7aa7cf7242 Auto merge of rust-lang#127732 - GrigorenkoPV:teeos-safe-sys-init, r=Amanieu 5ff7b404d5e std: Unsafe-wrap std::sync e8fa3ef2c24 std: Unsafe-wrap in Wtf8 impl 8c3a9c1c939 std: Unsafe-wrap std::io 91b7331a825 std: Directly call unsafe {un,}setenv in env 8c75111da55 std: Unsafe-wrap OSStr{,ing}::from_encoded_bytes_unchecked 4679f9a6cff std: Unsafe-wrap HashMap::get_many_unchecked_mut ac0fd279184 std: deny(unsafe_op_in_unsafe_fn) but allow sites f710e38693e Add `classify` and related methods for `f16` and `f128` 009660d51cc std: removes logarithms family function edge cases handling for solaris. 3492a6b5146 Auto merge of rust-lang#127728 - matthiaskrgr:rollup-ercdbjd, r=matthiaskrgr 08732993c73 sys::init is not unsafe on teeos 6c4029ad51b Rollup merge of rust-lang#127592 - tesuji:patch-1, r=Mark-Simulacrum 7cd8086b6c1 Auto merge of rust-lang#125935 - madsmtm:merge-os-apple, r=workingjubilee cfb0556a7f1 Merge Apple `std::os` extensions modules into `std::os::darwin` 54435f79fa5 Rollup merge of rust-lang#127704 - workingjubilee:fixup-better-than, r=ChrisDenton e1229496e7f Auto merge of rust-lang#127706 - workingjubilee:rollup-d07ij30, r=workingjubilee 30331206bd2 Rollup merge of rust-lang#127659 - saethlin:manually-drop-bufwriter, r=joboet e9eb7de0b4a Rollup merge of rust-lang#127446 - zachs18:miri-stdlib-leaks-core-alloc, r=Mark-Simulacrum 3ad25605a1f Rollup merge of rust-lang#127370 - ChrisDenton:win-sys, r=Mark-Simulacrum 05bf6bcfaeb doc: Suggest `str::repeat` over `iter::repeat().take().collect()` 96e8ba7a40c Fix minor typos in std::process doc on Win argv 6b67c664112 Auto merge of rust-lang#126958 - dtolnay:u32char, r=Mark-Simulacrum 591aaaf1e3e std::unix::fs: removing, now useless, layers predating macOs 10.10. 94ec6e79526 Auto merge of rust-lang#127674 - jhpratt:rollup-0dxy3k7, r=jhpratt a7c1f608ce4 Rollup merge of rust-lang#127668 - spencer3035:improve-slice-doc, r=jhpratt 1e49e055a69 Rollup merge of rust-lang#127661 - eduardosm:stabilize-io_slice_advance, r=cuviper c79e0030810 Auto merge of rust-lang#127397 - jyn514:multi-thread-panic-hook, r=workingjubilee 206678cfcd3 Auto merge of rust-lang#126606 - zachs18:patch-2, r=joboet 1bb035080b7 Updated slice documentation c8b79ddd46c Use ManuallyDrop in BufWriter::into_parts 6e26e27ee92 Stabilize io_slice_advance cac66641bfb Rename the internal `const_strlen` to just `strlen` 39647aba92c fix interleaved panic output 0476fc4842e Rollup merge of rust-lang#127433 - dtolnay:conststrlen, r=workingjubilee f66bd5fdfbd Rollup merge of rust-lang#126827 - the8472:pidfd-spawn, r=workingjubilee 1e5cd219cb6 Rollup merge of rust-lang#124980 - zachs18:rc-allocator, r=Amanieu 949f0d63178 Add instability attribute on private const_strlen function 20bfac6c159 Rollup merge of rust-lang#127422 - greaka:master, r=workingjubilee f937ef12bda Rollup merge of rust-lang#127599 - tgross35:lazy_cell_consume-rename, r=workingjubilee fde7fd261f2 Rollup merge of rust-lang#127588 - uweigand:s390x-f16-doctests, r=tgross35 ed47f986f1b Rollup merge of rust-lang#127572 - tbu-:pr_debug_event_nonpacked, r=jhpratt e5c8b859b88 Rollup merge of rust-lang#124599 - estebank:issue-41708, r=wesleywiser b71b538ec26 Rename `lazy_cell_consume` to `lazy_cell_into_inner` 9efc1cb294a core: Limit remaining f16 doctests to x86_64 linux a18fbd0ad0e Rollup merge of rust-lang#127554 - ferrocene:tshepang-add-missing-attribute, r=pietroalbini e419147a511 Don't mark `DEBUG_EVENT` struct as `repr(packed)` 4552576f397 Auto merge of rust-lang#126690 - andyolivares:feature/show_window, r=dtolnay 6f6e343956a Rollup merge of rust-lang#127091 - Sky9x:fused-error-sources-iter, r=dtolnay 0d64105175e Fixed doc links 4fb7b225972 Few changes to doc comments. Added tracking issue number. fe62f6f8ad6 Exposing STARTUPINFOW.wShowWindow in CommandExt (show_window function) to control how a new process should display its window (normal, minimized, maximized, etc) 7d20047874d do not run test where it cannot run c5f1c76ddea Auto merge of rust-lang#127235 - martn3:no-mips-f16, r=tgross35,scottmcm 3fefa04a3c1 Rollup merge of rust-lang#127460 - Borgerr:clarify-drop-comment, r=jhpratt 895175ada33 Rollup merge of rust-lang#127355 - aceArt-GmbH:126475, r=oli-obk 57cea32952c Rollup merge of rust-lang#120248 - WaffleLapkin:bonk-ptr-object-casts, r=compiler-errors,oli-obk,lnicola e74955e1f84 Attempt to fix CI e466bf57650 Rollup merge of rust-lang#127367 - ChrisDenton:run-sync, r=Nilstrieb 90504f870c5 Rollup merge of rust-lang#126921 - workingjubilee:outline-va-list, r=Nilstrieb c6b3f3db220 Auto merge of rust-lang#127454 - matthiaskrgr:rollup-k3vfen2, r=matthiaskrgr 29d792329d4 Move/change declaration of `mod exit_guard;` ecc90251720 clarify `sys::unix::fd::FileDesc::drop` comment (rust-lang#66876) 35c5a456fea Rollup merge of rust-lang#127447 - RalfJung:once_lock_miri, r=joboet 9f7100d382c Rollup merge of rust-lang#127354 - nicholasbishop:bishop-sized-doc, r=Nilstrieb ee06e7daee6 Rollup merge of rust-lang#127297 - the8472:path-new-hash, r=Nilstrieb 2206c6b52b9 Rollup merge of rust-lang#127189 - GrigorenkoPV:linkedlist-cursor-list, r=Nilstrieb 41bcc362ad5 Rollup merge of rust-lang#127179 - tgross35:typeid-debug-hex, r=Nilstrieb 7177ac878cc once_lock: make test not take as long in Miri 294d87f0c25 Remove non-focused memory leak in `std` doctest for Miri. a86fd0f0d19 Specialize `TrustedLen` for `Iterator::unzip()` 5515bbad984 Mitigate focused memory leaks in `core` doctests for Miri. 3a0fe26db17 Remove non-focused memory leaks in `core` doctests for Miri. 20d6cb372e6 Mitigate focused memory leaks in `alloc` doctests for Miri. cac890232ed Remove non-focused memory leaks in `alloc` doctests for Miri. bcdc8e8471d Stabilize const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes) a48f566b9a4 offset_from intrinsic: always allow pointers to point to the same address 9919a83b414 Mark format! with must_use hint 0907955d257 as_simd: fix comment to be in line with 507583a (rust-lang#121201) 5569eceddd0 Rollup merge of rust-lang#127275 - RalfJung:offset-from-isize-min, r=Amanieu 2337ab518af Rollup merge of rust-lang#125751 - pitaj:new_range_api, r=jhpratt ad4fde64af5 Rollup merge of rust-lang#127363 - GuillaumeGomez:improve-fmt-code-readability, r=Amanieu 3eeca5f7708 Rollup merge of rust-lang#127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix 1b5e5ac49eb Rollup merge of rust-lang#123600 - tisonkun:path_with_extension, r=dtolnay 5e9d4458222 Attempt to fix CI d8965d365be add `new_range_api` for RFC 3550 ca0f659f69d Move exit guard from sys::common::exit_guard to sys::exit_guard. cf300a7e34b Update library/std/src/sys/pal/common/exit_guard.rs ba4c71a7433 add unit tests for extra extension feature 55fc20b7cbd update comments 6b7a259b4f0 Add experimental raw-dylib feature to std c452e620459 Use windows_targets macro for alloc 521c81ab1c4 Run alloc sync tests 2fcdebb68d7 Improve readability of some fmt code examples 625bcc4987d Rollup merge of rust-lang#127320 - ChrisDenton:win-sys, r=Mark-Simulacrum f8caf5f24be Rollup merge of rust-lang#127214 - bjorn3:miri_native_unwind, r=oli-obk 1862054af88 Describe Sized requirements for mem::offset_of e26c8818397 impl FusedIterator and a size hint for the error sources iter 8f1c6640319 core: erase redundant stability attrs in va_list 60c33a58766 library: outline VaList into ffi::va_list 03d11c20585 Auto merge of rust-lang#126171 - RalfJung:simd_bitmask_multibyte, r=workingjubilee 297850a677e Add more checks for pointers with vtable meta f58a3d6903e Improve dead code analysis 515bd305955 Add comments to windows_targets.rs 89d2de0f95f Update windows-bindgen to 0.58.0 0860a040c83 also remove redundant requirements from offset() 6f80604442b offset_from: "the difference must fit in an isize" is a corollary de4f5c2ca62 Rollup merge of rust-lang#127303 - cuishuang:master, r=jhpratt 56c73c378a5 Rollup merge of rust-lang#127195 - biabbas:vxworks_cleanup, r=jhpratt 5dfdef71fae Rollup merge of rust-lang#126792 - wooden-worm:master, r=Mark-Simulacrum 4df2059a6f7 chore: remove repeat words acbefbbdec7 impl PathBuf::add_extension and Path::with_added_extension 13d5a423f3d Auto merge of rust-lang#127226 - mat-1:optimize-siphash-round, r=nnethercote ed3d4878d34 stir the hash state a little to avoid prefix collisions 5ca124f6d8a Add more test cases for path comparisons 33bc557dd48 Add test case demonstrating equality of paths "foo/bar" and "foobar" 079f99970d6 Move unique_thread_exit call to lang_start_internal so it is not in a generic function, and wrap it in `catch_unwind` 47d0cbc7e2f Remove Miri special-case 596be7ee7d7 Use pthread_t instead of numeric thread id 2e90f6f5e7c Use libc::pause instead of std::thread::park in wait-for-exit loop 1fd23e8568a core: Limit four f16 doctests to x86_64 linux e6f15c579fa std: Set has_reliable_f16 to false for MIPS targets in build.rs 67535b62417 library/std/build.rs: "powerpc64le" is not a target_arch 5b0d82f32d8 Rollup merge of rust-lang#127204 - dimpolo:stabilize_atomic_bool_fetch_not, r=jhpratt b184a84f13c Rollup merge of rust-lang#123588 - tgross35:stabilize-assert_unchecked, r=dtolnay 2a81053036c Fall back on remove dir implementation for vxworks a8b6d0a2e51 Rollup merge of rust-lang#127230 - hattizai:patch01, r=saethlin 4d7cbb257ee chore: remove duplicate words 645e9f24d68 Optimize SipHash by reordering compress instructions c5ab1f01d8c Rollup merge of rust-lang#127128 - elomatreb:elomatreb/stabilize-duration_abs_diff, r=joboet f09067288ce Rollup merge of rust-lang#126732 - StackOverflowExcept1on:master, r=m-ou-se 1dc4f05eed8 Use the native unwind function in miri where possible 4fff3351c87 Avoid MIR bloat in inlining 4385efde634 Stabilize atomic_bool_fetch_not 6c3359cdb0b Rollup merge of rust-lang#127182 - danielhuang:patch-4, r=Nilstrieb a0a438a75f2 Remove unqualified import io:: Error for vxworks as all Error references are qualified in process_vxworks.rs 2a65e9fd644 Auto merge of rust-lang#127026 - Urgau:cleanup-bootstrap-check-cfg, r=Kobzol bba22002ec8 LinkedList's Cursor: method to get a ref to the cursor's list 40a9be9a29e Update ip_addr.rs 986dbd1b458 Print `TypeId` as hex for debugging f27723e63ee Rollup merge of rust-lang#127069 - Sky9x:fmt-pointer-use-addr, r=Nilstrieb b068fce0ad9 Rollup merge of rust-lang#126895 - betelgeuse:improve_simd_gather_documentation, r=Amanieu a6b22e95975 Rollup merge of rust-lang#127134 - tgross35:typeid-debug, r=Nilstrieb 7f0bb45d5b9 Rollup merge of rust-lang#126906 - GrigorenkoPV:fixme-split_at_first, r=Mark-Simulacrum b0feb54c3d8 Rollup merge of rust-lang#126705 - safinaskar:panic, r=Mark-Simulacrum b8977f5a191 Auto merge of rust-lang#127133 - matthiaskrgr:rollup-jxkp3yf, r=matthiaskrgr affa2f90405 Print `TypeId` as a `u128` for `Debug` 05a472c8d62 Rollup merge of rust-lang#127122 - TDecking:div_ceil, r=Nilstrieb 9b3a5111038 Auto merge of rust-lang#120639 - fee1-dead-contrib:new-effects-desugaring, r=oli-obk f96a3214d6b Stabilize `duration_abs_diff` bf9096fc013 small correction to fmt::Pointer impl 171f5dbb17b Auto merge of rust-lang#127121 - GuillaumeGomez:rollup-xjjjckn, r=GuillaumeGomez 50a66465304 Remove uneccessary condition in `div_ceil` 79143898a34 Updated docs on `#[panic_handler]` in `library/core/src/lib.rs` 1858bdce9b8 Rollup merge of rust-lang#127073 - Sky9x:unnecessary-seqcst, r=Nilstrieb aaed20934c7 Rollup merge of rust-lang#127072 - Sky9x:docs-includes-vs-does-include, r=scottmcm e5a577d85dc Auto merge of rust-lang#127119 - RalfJung:miri-sync, r=RalfJung 77a5b51293f Rollup merge of rust-lang#126953 - joboet:lazy_key, r=jhpratt 8641f6a3b19 Merge from rustc 402992c7d21 Rollup merge of rust-lang#127071 - Sky9x:remove-ptr-to-from-bits, r=scottmcm 0a2d8e47740 Rollup merge of rust-lang#127070 - Sky9x:unit-const-param-ty, r=BoxyUwU 663f3d54372 Rollup merge of rust-lang#127055 - shepmaster:hash-finish-must-use, r=dtolnay 729a10a00b8 address review comments db228b821dd general fixups and turn `TODO`s into `FIXME`s 47492c9ec94 Implement `Min` trait in new solver cc4a0293697 implement new effects desugaring d6fadf5ac19 std: add safety comments 8c3c7dcea79 Rollup merge of rust-lang#126970 - DaniPopes:simplify-str-clone_into, r=cuviper ae98528d9f3 Rollup merge of rust-lang#126956 - joboet:fmt_no_extern_ty, r=RalfJung 652f0b8fe38 Merge from rustc 48dc678b2c6 Remove unnecessary SeqCst in `impl fmt::Pointer for AtomicPtr` e6e5e84cae6 docs: say "includes" instead of "does include" a722d391cd8 Remove (deprecated & unstable) {to,from}_bits pointer methods 2ed9c9f5b62 add () to the marker_impls macro for ConstParamTy fdfe0148965 Mark `Hasher::finish` as #[must_use] 2bd2069f1dd fix least significant digits of f128 associated constants 8db57c2b618 core: improve comment 1f8c8f42e51 Cleanup bootstrap check-cfg 6c38c60873f Rollup merge of rust-lang#126980 - Borgerr:fix-extendfromslice-check, r=workingjubilee a2dc9b539e3 Rollup merge of rust-lang#126929 - nnethercote:rm-__rust_force_expr, r=oli-obk cf231e8ada7 Merge from rustc a8b311eb853 Auto merge of rust-lang#126608 - tgross35:f16-f128-library, r=Mark-Simulacrum 4788a93eee2 std: test a variety of ways to extend a Wtf8Buf 57c2de81f2b set self.is_known_utf8 to false in extend_from_slice c14a130aa4a Rollup merge of rust-lang#126879 - the8472:next-chunk-filter-drop, r=cuviper f6fdef3996a core: avoid `extern` types in formatting infrastructure 43a865ad540 fix UI test, simplify error message ff33a6672e7 regression test for leaks in the the Filter::next_chunk implementation f90972a4104 add comments explaining optimizations for Filter::next_chunk 4039a7f34e7 fix Drop items getting leaked in Filter::next_chunk 0351c5316c0 Simplify `str::clone_into` 5aedb8ada69 Rollup merge of rust-lang#126946 - cyrgani:patch-1, r=compiler-errors 5664da3fcac Rollup merge of rust-lang#126927 - workingjubilee:vaargsafe-is-unsafe, r=joboet 927337346fd Rollup merge of rust-lang#126885 - Borgerr:rm_internal_pathbuf_asmutvec, r=workingjubilee 46074aad759 Rollup merge of rust-lang#126302 - mu001999-contrib:ignore/default, r=michaelwoerister 0fe53622318 Stabilize const unchecked conversion from u32 to char 9dcaa15a8dc std: separate TLS key creation from TLS access 5d08a54141c Detect unused structs which derived Default e6c45e4a711 `PathBuf::as_mut_vec` removed and verified for UEFI and Windows platforms rust-lang#126333 7cec6ef8d5e remove references to `PathBuf::as_mut_vec` in `PathBuf::_set_extension` 37f78f46760 inner truncate methods for UEFI platforms cfb802176cb rust-lang#126333 remove `PathBuf::as_mut_vec` reference at top of `PathBuf::_push` 3edb521863d simd_bitmask intrinsic: add a non-power-of-2 multi-byte example 2ddf7942352 Add missing slash in const_eval_select doc comment 19cfdb2c317 Add tests for `f16` and `f128` 561daffd3f5 Add more `f16` and `f128` library functions and constants 6cb3d34841e Add doctests to existing `f16` and `f128` functions b0e050324f9 Add build.rs config for reliable `f16` and `f128` 028026b9b30 Remove `__rust_force_expr`. 1069a689007 core: VaArgSafe is an unsafe trait a451b2a9f8b Auto merge of rust-lang#126852 - scottmcm:more-checked-math-tweaks, r=Amanieu 17d03b950a4 Check that we get somewhat sane PIDs when spawning with pidfds 4c9a96eebda more fine-grained feature-detection for pidfd spawning bf06e436d4a document safety properties of the internal Process::new constructor 9212236fc18 use pidfd_spawn for faster process creation when pidfds are requested 4815f2968d4 document the cvt methods 1bd207e6b0a Rollup merge of rust-lang#126904 - GrigorenkoPV:nonzero-fixme, r=joboet 2676918a59b Rollup merge of rust-lang#125575 - dingxiangfei2009:derive-smart-ptr, r=davidtwco 9dcffa5782f Rollup merge of rust-lang#125082 - kpreid:const-uninit, r=dtolnay cf34f71c117 Replace `MaybeUninit::uninit_array()` with array repeat expression. e51d8a2224f Auto merge of rust-lang#126523 - joboet:the_great_big_tls_refactor, r=Mark-Simulacrum 2b8c7a3813f Small fixme in core now that split_first has no codegen issues 532304befc3 Small fixme in core now that NonZero is generic 5ae0378035a std: fix wasm builds ae08c581475 Rollup merge of rust-lang#126213 - zachs18:atomicbool-u8-i8-from-ptr-alignment, r=Nilstrieb 071e80d6c4a Fix simd_gather documentation 0c4a661ebdf wasm64 build with target-feature=+simd128,+atomics 36a20f7b383 Reword docs for `f32` and `f64` 6839ec5efd2 Extract repeated constants from `f32` and `f64` source c26bd79991f Rollup merge of rust-lang#126854 - devnexen:std_unix_os_fallback_upd, r=Mark-Simulacrum 828e528d416 Rollup merge of rust-lang#126807 - devnexen:copy_file_macos_simpl, r=Mark-Simulacrum e4bc79db7fe Also get `add nuw` from `uN::checked_add` 7c83a041921 SmartPointer derive-macro f0b95fcce71 fix build 12ec5b7b691 Rollup merge of rust-lang#126783 - tguichaoua:fix_tcplistener_into_incoming_issue_number, r=workingjubilee eb265d0841e std::unix::os::home_dir: fallback's optimisation. a48f3d6475d Auto merge of rust-lang#126838 - matthiaskrgr:rollup-qkop22o, r=matthiaskrgr ec8af4b3c06 Rollup merge of rust-lang#126552 - fee1-dead-contrib:rmfx, r=compiler-errors 6d6ba925574 Rollup merge of rust-lang#126140 - eduardosm:stabilize-fs_try_exists, r=Amanieu e1edea8f3a4 Auto merge of rust-lang#116113 - kpreid:arcmut, r=dtolnay 49d4fdb09f1 Generalize `{Rc,Arc}::make_mut()` to unsized types. 5ac719ed6a2 Replace `WriteCloneIntoRaw` with `CloneToUninit`. a4ca461939e Add `core::clone::CloneToUninit`. 78368435c65 Auto merge of rust-lang#126750 - scottmcm:less-unlikely, r=jhpratt 934e7286794 Auto merge of rust-lang#124101 - the8472:pidfd-methods, r=cuviper c2ec99b6637 to extract a pidfd we must consume the child f7cf777c00b Add PidFd::{kill, wait, try_wait} d688595fa6c std::unix::fs: copy simplification for apple. bb602cf940d Auto merge of rust-lang#125853 - tesuji:promote-fail-fast, r=cjgillot 1f1793634b4 update intrinsic const param counting 5e7ce0bad23 Remove `feature(effects)` from the standard library 8902c171c30 Auto merge of rust-lang#126781 - matthiaskrgr:rollup-5u4pens, r=matthiaskrgr 54eaed7e5ef fix issue number 2e01ae34277 Rollup merge of rust-lang#126613 - tgross35:log-test-update, r=cuviper 306d7bf153a Stop using `unlikely` in `strict_*` methods a8ab1ceb396 [GVN] Add tests for generic pointees with PtrMetadata a272844a6e1 Don't perform mitigation for thread-unsafe libc::exit under Miri. 5035a17dec1 fix rustdoc URL 1530977b9a5 On `target_os = "linux"`, ensure that only one Rust thread calls `libc::exit` or returns from `main`. 7e940ba00cf Auto merge of rust-lang#126578 - scottmcm:inlining-bonuses-too, r=davidtwco 9a945fdf0e9 Auto merge of rust-lang#124032 - Voultapher:a-new-sort, r=thomcc dbaf524df30 Rollup merge of rust-lang#126737 - fee1-dead-contrib:rm-const-closures, r=compiler-errors 0f6922d6272 Fix wrong big O star bracing in the doc comments 7bf7f578614 Remove `feature(const_closures)` from libcore b4e2e4ac6e9 Auto merge of rust-lang#126736 - matthiaskrgr:rollup-rb20oe3, r=matthiaskrgr 0829ab8d1b7 Rollup merge of rust-lang#126717 - nnethercote:rustfmt-use-pre-cleanups, r=jieyouxu f1c9c809b1f Rollup merge of rust-lang#126711 - GKFX:const-option-as-slice, r=oli-obk e0572323ddb Auto merge of rust-lang#116088 - nbdd0121:unwind, r=Amanieu,RalfJung 13ea648b170 Stabilize `PanicInfo::message()` and `PanicMessage` b6a38581515 Rollup merge of rust-lang#126703 - the8472:on-blackbox-crypto-use, r=scottmcm 847726d1be8 Shrink some slice iterator MIR 1ba2fa4b637 Stabilize `hint_assert_unchecked` 9d0041c40d7 Update documentation for `hint::assert_unchecked` e3e84a75a9b Add blank lines after module-level `//` comments. 36ad0db0a23 Add blank lines after module-level `//!` comments. 4e67110a2fb Convert some module-level `//` and `///` comments to `//!`. 669d6fce08c Make Option::as_[mut_]slice const 4ae781cb5e2 reword the hint::blackbox non-guarantees dd7c901e95d core: add tracking issue for `array::repeat` 5ddeaca202b core: simplify implementation of `array::repeat`, address other nits 62f7a4e4e92 core: implement `UncheckedIterator` for `RepeatN` 387fd1f34c6 core: implement `array::repeat` 3fc18d0b40c Add a hack to prevent proc_macro misopt in CI a95938d6730 Stabilise c_unwind 2a5e5b887ef Rollup merge of rust-lang#125787 - Oneirical:infinite-test-a-novel, r=jieyouxu 227994dbde2 try implementing suggestions 78867ab1aa0 run_make_support nm implementation + bin-emit-no-symbols rmake rewrite 76e61bf77a6 Replace `move||` with `move ||` in `compiler/` and `library/` 13a31b63b4f Auto merge of rust-lang#126330 - m-ou-se:panic-message-type, r=Amanieu 42802a3a09e Print the tested value in int_log tests ea1ab74eb6d Add missing CopyMarker impl 384c2054629 Revert panic_safe test changes ca458bac5ae Add PanicMessage type for PanicInfo::message(). 22389455823 Add tracking issue to async_drop API 0b3227b6dac std: rename module for clarity 2b9a4f38bd6 std: update TLS module documentation 00d4964bb22 std: use the `c_int` from `core::ffi` instead of `libc` bd3b9eca35a std: simplify `#[cfg]`s for TLS 78eaad5fb0a Fix unintended regression for Freeze + Copy types 8cd20cb8dc1 Auto merge of rust-lang#126569 - jieyouxu:rollup-1uvkb2y, r=jieyouxu c1acd7a6844 Rollup merge of rust-lang#126531 - slanterns:error_provider, r=workingjubilee cd1c9984d30 Rollup merge of rust-lang#126468 - RalfJung:euclid, r=Mark-Simulacrum 27308799efa Rollup merge of rust-lang#126346 - hermit-os:fd, r=Amanieu ebbce699236 Rollup merge of rust-lang#126288 - x4exr:patch-1, r=dtolnay 4aa43c72385 Auto merge of rust-lang#125720 - folkertdev:optimize_for_size-ptr-rotate, r=Amanieu 791232945c4 doc: Added commas where needed 48e157873f1 Fix doc-link issue 489dfceabae Remove reliance on const_trait in sort implementations 89b578450c9 std: move `sys_common::backtrace` to `sys` 90dbe22a287 use rustc-dep-of-std in panic_unwind 6832ad31e1c Rollup merge of rust-lang#126539 - lukaslueg:patch-1, r=jhpratt 04e46c2630d Rollup merge of rust-lang#125112 - tbu-:pr_create_dir_all_empty, r=dtolnay e77b4744b48 Update `Arc::try_unwrap()` docs 83c530fb2f8 Apply review comments ae7f43eda80 Auto merge of rust-lang#126299 - scottmcm:tune-sliceindex-ubchecks, r=saethlin 339f26630a2 Redo SliceIndex implementations 2388743f251 update comment 4cc1c37692c Rollup merge of rust-lang#126229 - ChrisDenton:bindgen, r=Mark-Simulacrum b40c54bb5bc std: refactor the TLS implementation 7e3c4f82606 Auto merge of rust-lang#126518 - matthiaskrgr:rollup-wb70rzq, r=matthiaskrgr 26785938493 std: suggest OnceLock over Once b509ed20612 Polish `std::path::absolute` documentation. c3c175798d2 Auto merge of rust-lang#126473 - matthiaskrgr:rollup-8w2xm09, r=matthiaskrgr a135342704a Rollup merge of rust-lang#126285 - kpreid:unique-rc, r=dtolnay 7fafb6d366e Rollup merge of rust-lang#126266 - tbu-:pr_doc_alloc_default_system, r=jhpratt afee9f5e11d Rollup merge of rust-lang#126135 - hermit-os:fuse, r=jhpratt 4a32b4bcf84 Rollup merge of rust-lang#123769 - dtolnay:literal, r=fee1-dead 3909d510924 div_euclid, rem_euclid: clarify/extend documentation ca52a2ca0e3 Rollup merge of rust-lang#126351 - devnexen:to_sol11_upd, r=ChrisDenton 369fa557b2f Rollup merge of rust-lang#126402 - firefighterduck:fix-unsafe-precon-copy, r=Nilstrieb 2acb995e558 Rollup merge of rust-lang#126390 - Kriskras99:master, r=Nilstrieb b3c1dcb8a6b Rollup merge of rust-lang#126360 - compiler-errors:uplift-structural-traits, r=lcnr bdb9aa2f3cd Rollup merge of rust-lang#123726 - jieyouxu:command-new-docs, r=Nilstrieb 307d1afdbd4 Remove superfluous escaping from byte, byte str, and c str literals 78d94eeb0ff LangItem-ify Coroutine trait in solvers 891f00ce0fd fix wrong assert_unsafe_precondition message for core::ptr::copy 9adf702cc46 Rollup merge of rust-lang#126384 - RalfJung:is_none_or, r=workingjubilee 02cb1e9e580 Rollup merge of rust-lang#126347 - slanterns:try_simplify, r=scottmcm fa2a54a54c6 Fix wording in {checked_}next_power_of_two 3ef894f8bc5 add tracking issue for is_none_or a5fe19dc0bd std::unix::fs::link using direct linkat call for Solaris and macOs. 9921cd25ed1 Rollup merge of rust-lang#126328 - RalfJung:is_none_or, r=workingjubilee 93583a69853 Simplify `try_*` on `Iterator` 47090b15fb8 export std::os::fd module on HermitOS 17c90d81d23 Auto merge of rust-lang#126273 - pietroalbini:pa-bootstrap-update, r=Mark-Simulacrum b482e06e29c add is_none_or 027c82e6edc Rollup merge of rust-lang#126322 - m-ou-se:panicinfo-and-panicinfo-2, r=RalfJung db03ec6a89e Rollup merge of rust-lang#126242 - yaahc:simplify-provider, r=jhpratt 956efdef025 Rollup merge of rust-lang#126039 - dpaoliello:arm64ecbuild, r=davidtwco 3acb41fba7c Fix deprecated version. bc5e618edd3 Update doc comment on PanicInfo::message(). 249d63e985c Use payload_as_str instead of two downcasts. 15677e9f865 Fix deprecation version. a239d5bf0e1 Clarify doc comment. 209f8c80d1f Auto merge of rust-lang#126319 - workingjubilee:rollup-lendnud, r=workingjubilee 6ec98e76fb6 Rollup merge of rust-lang#126305 - workingjubilee:fix-os-string-to-string-utf8-invariant, r=joboet 80467da88db Rollup merge of rust-lang#126287 - nnethercote:reformat-cranelift-patch, r=bjorn3 5760a4e9d4e Rollup merge of rust-lang#126281 - ChrisDenton:env, r=jhpratt 439c2ae36dc Rollup merge of rust-lang#126249 - workingjubilee:simplify-try-map-signature, r=scottmcm 23e3dbf043a Rollup merge of rust-lang#126210 - lolbinarycat:ptr_doctest_assert, r=workingjubilee d46939470bf Rollup merge of rust-lang#123374 - mgeier:doc-slice-from-raw-parts, r=scottmcm 63fe960c257 Require any function with a tait in its signature to actually constrain a hidden type e1d73c2d74a Revert "Rollup merge of rust-lang#125362 - joboet:tait_hack, r=Nilstrieb" 382ed528dc8 Make PathBuf less Ok with adding UTF-16 then `into_string` 548e7a4135e Update a cranelift patch file for formatting changes. 8ccbe9e6c8a `UniqueRc`: support allocators and `T: ?Sized`. b3dcee69396 set_env: State the conclusion upfront f56c02311ee Rename `std::fs::try_exists` to `std::fs::exists` and stabilize fs_try_exists c16d8b1f7a5 Unify guarantees about the default allocator d8fe5899dc8 remove cfg(bootstrap) a2ff49b68b4 replace version placeholder f72e4a99cd5 Formatting. 0503ca79148 Bump deprecation of std's PanicInfo alias to 1.82.0. fea6b035e61 Add PanicHookInfo::payload_as_str(). 0c8a9e06b97 Fix display of panic message in recursive panic. 2f85702e572 Mention core's PanicInfo in error.md. ad0667f9724 Add note on panic payload type. 518722eccfc Downcast panic payload to String too in example. c4dea816f7f Move deprecation of std::panic::PanicInfo to 1.80.0. 143e4c4a40e Fix deprecation version. c6749ae5b90 Rename std::panic::PanicInfo to PanicHookInfo. db2e05588c5 Formatting. 51f20ac6148 Fix invalid markdown/html. d4b7304c0de Reorder body of begin_panic for consistency. 373fb60b119 Impl Display for PanicPayload to simplify things. 224d45cf15c Use unnamed lifetimes for [..]Payload impl blocks. cf984e0e154 Move downcasting panic payload to str to a function. a18eeac0a12 Mark some PanicInfo methods as #[inline] for consistency. 47f359bc210 Remove std::panic::PanicInfo::internal_constructor+set_payload. 701d6a23254 Remove core::panic::PanicInfo::internal_constructor. cca865dd137 Update doc comment about core::panicking. 221a90ccb77 Fix doc link. d6658a5e3dd Add core::panic::PanicInfo::payload() for compatibility. ca0bfebc0fe Document difference between core and std's PanicInfo. 702405ed414 Split core's PanicInfo and std's PanicInfo. 019e01f23f5 Skip fast path for dec2flt when optimize_for_size 483f641ee13 Simplify `[T; N]::try_map` signature 8b6f468edd8 Simplify provider api to improve llvm ir c8170e67b53 Rollup merge of rust-lang#126212 - SteveLauC:fix/haiku, r=joboet 58bb5cfddf4 Rollup merge of rust-lang#126191 - ivan-shrimp:nonzero_doc, r=scottmcm d2f8ddfcc21 Bump windows-bindgen to 0.57 02bf1521553 Clarify `Command::new` behavior if passed programs with arguments e17d6b968b4 Remove some unused crate dependencies. 5840184c348 Update docs for AtomicU8/I8. 87915497e69 fix: build on haiku 263861f45c9 Update safety docs for AtomicBool::from_ptr. e25ae61e2b5 docs(core): make more const_ptr doctests assert instead of printing cf9de23d66b Auto merge of rust-lang#126205 - jieyouxu:rollup-s64z5ng, r=jieyouxu c5da756bc2a Rollup merge of rust-lang#126194 - ChrisDenton:winerror, r=Mark-Simulacrum c4bd74c1902 Rollup merge of rust-lang#125253 - sunsided:feature/FRAC_1_SQRT_PI, r=Mark-Simulacrum c9c5d8f0189 Auto merge of rust-lang#126193 - RalfJung:miri-sync, r=RalfJung e39299d577e Migrate more things to WinError 0df0a38c38b fix `NonZero` doctest inconsistencies 818933db00d Rollup merge of rust-lang#126168 - devnexen:current_exe_haiku_simpl, r=ChrisDenton a9bd5698ac7 Rollup merge of rust-lang#126146 - devnexen:signal_fbsd, r=ChrisDenton 05812a0309b Merge from rustc 56bdaf3dfb3 std::unix::os current_exe implementation simplification for haiku. e6c378f9a8e Auto merge of rust-lang#125966 - schvv31n:impl_os_string_pathbuf_leak, r=workingjubilee e000ecbd84a std::unix::process adding few specific freebsd signals to be able to id. 67454f58555 Rollup merge of rust-lang#126138 - wbk:patch-1, r=lqd ca932c80555 Rollup merge of rust-lang#125998 - devnexen:get_mode_illumos, r=Nilstrieb 397e9cbe400 Rollup merge of rust-lang#125951 - slanterns:error_in_core_stabilization, r=Amanieu 4655eca9735 Fix typo in docs for std::pin bb2e2d9fc7d add HermitOS support of vectored read/write operations dd7ccb77633 Rollup merge of rust-lang#126089 - wutchzone:option_take_if, r=scottmcm 199da77e638 Rollup merge of rust-lang#126030 - ChrisDenton:update-wingen-readme, r=Mark-Simulacrum 8a4b11aa65d Rollup merge of rust-lang#124012 - slanterns:as_slice_stabilize, r=BurntSushi 05a92c2d02b Auto merge of rust-lang#126110 - workingjubilee:backtrace-0.3.73, r=workingjubilee cd73cbea88a Update backtrace to 0.3.73 c6e53ce2b1a Merge from rustc 3b603356225 Rollup merge of rust-lang#125606 - diondokter:opt-size-int-fmt, r=cuviper 7014731c32e fix doc comments about `error_generic_member_access` 3f4816887c7 Stabilize `error_in_core` 20f15f4d41a fixed memory leaks in PathBuf::leak & OsString::leak tests fa66a61d655 Rollup merge of rust-lang#126096 - c410-f3r:tests-tests-tests, r=jhpratt 57369442f0d [RFC-2011] Allow `core_intrinsics` when activated dfddd7e5a86 Stabilize Option::take_if 051c6c60977 Raise `DEFAULT_MIN_STACK_SIZE` to at least 64KiB 29932f32723 Auto merge of rust-lang#126038 - matthiaskrgr:rollup-h4rm3x2, r=matthiaskrgr 149a2370c6e Promote `arm64ec-pc-windows-msvc` to tier 2 4a81c121a38 Rollup merge of rust-lang#126032 - ChrisDenton:update-docs, r=joboet 7450cf043b4 Rollup merge of rust-lang#125800 - fortanix:raoul/rte-99-fix_mut_static_task_queue, r=jethrogb ed91d5578b4 Rollup merge of rust-lang#125940 - devnexen:unix_fs_netbsd_get_path, r=cuviper bf7430fdc68 Update description of the `IsTerminal` example 91c8b231664 Update `./x fmt` command 16321651051 Rollup merge of rust-lang#125995 - kpreid:const-uninit-stable, r=Nilstrieb 2c5f1acc4c1 Rollup merge of rust-lang#125982 - xTachyon:fix-linked-list, r=jhpratt 80cee25cbad Rollup merge of rust-lang#123168 - joshtriplett:size-of-prelude, r=Amanieu 28dc012bfbf std::unix::fs::get_mode implementation for illumos/solaris. 14a6f295bcd Use inline const instead of unsafe to implement `MaybeUninit::uninit_array()`. a2c3406e626 Use inline const instead of unsafe to construct arrays in `MaybeUninit` examples. f8ee355f9c4 Rollup merge of rust-lang#125932 - schvv31n:patch-1, r=lqd 49dad463287 Rollup merge of rust-lang#125927 - ferrocene:lw-alloc-unwind-test, r=pietroalbini e38c13a5962 Rollup merge of rust-lang#125696 - workingjubilee:please-dont-say-you-are-lazy, r=Nilstrieb 1764910ce42 Rollup merge of rust-lang#106186 - rossmacarthur:ft/iter-chain, r=Amanieu fbb5246b92c Make deleting on LinkedList aware of the allocator 85aa4b6ae53 impl OsString::leak & PathBuf::leak b19dd145ea9 Add function `core::iter::chain` 25245bba3d9 Rollup merge of rust-lang#125919 - tbu-:pr_fix_typo, r=lqd a415dddaa0d Rollup merge of rust-lang#125504 - mqudsi:once_nominal, r=cuviper ea7e91c6357 Let compiler auto impl `Send` for `Task` 55f3d10071c Store `Task::p` as `dyn FnOnce() + Send` 92b604f475f Pass function for `Thread` as `Send` to `Thread::imp` 175ad227af0 Auto merge of rust-lang#125525 - joboet:tls_accessor, r=cuviper 31e0022e8f2 std::unix::fs::get_path: using fcntl codepath for netbsd instead. 82e24ad44cd Fix typo in the docs of `HashMap::raw_entry_mut` fcc07af4e3a Ignore `vec_deque_alloc_error::test_shrink_to_unwind` test on non-unwind targets 6ef46b31227 Auto merge of rust-lang#125912 - nnethercote:rustfmt-tests-mir-opt, r=oli-obk 79271381c4f Remove stray "this" 06d9b0e9397 Add "OnceList" example to motivate OnceLock 6d001c57db6 Move first OnceLock example to LazyLock 7e47256ddbf Differ LazyLock vs. OnceLock in std::sync overview a198721997c Explain LazyCell in core::cell overview ae5598aabc3 Reformat `mir!` macro invocations to use braces. 494f05c1d78 Rollup merge of rust-lang#125898 - RalfJung:typo, r=Nilstrieb 7881d33deef Rollup merge of rust-lang#125884 - Rua:integer_sign_cast, r=Mark-Simulacrum 380d9a3d410 Rollup merge of rust-lang#121062 - RustyYato:f32-midpoint, r=the8472 81b9e26560b Wording of the documentation 1c707b64249 typo: depending from -> on fe5adb924fb Auto merge of rust-lang#125577 - devnexen:netbsd_stack_min, r=joboet 876458ec8a2 Implement feature `integer_sign_cast` e929c7fda65 Change f32::midpoint to upcast to f64 cd0400080d5 Auto merge of rust-lang#124294 - tspiteri:ilog-first-iter, r=the8472 7f0b19dd24d stablize `const_binary_heap_constructor` & create an unstable feature `const_binary_heap_new_in` for `BinaryHeap::new_in` 5c2e2744f32 Rollup merge of rust-lang#125730 - mu001999-contrib:clippy-fix, r=oli-obk 9fe18037b50 Auto merge of rust-lang#124662 - zetanumbers:needs_async_drop, r=oli-obk 894310362d5 Avoid `mut` and simplify initialization of `TASK_QUEUE` ba98164a104 Auto merge of rust-lang#124636 - tbu-:pr_env_unsafe, r=petrochenkov bbaaa79ab59 Rollup merge of rust-lang#125746 - jmillikin:duration-from-weeks-typo, r=lqd 1329a62eb9e Rollup merge of rust-lang#125739 - RalfJung:drop-in-place-docs, r=workingjubilee 8883bcf630b Rollup merge of rust-lang#125342 - tbu-:pr_doc_write, r=ChrisDenton 14d5dcb4160 explain what the open questions are, and add a Miri test for that 6f01ba7ade6 Apply x clippy --fix and x fmt c9c0713ee9b Fix copy-paste error in `Duration::from_weeks` panic message. e935223b1b8 Rollup merge of rust-lang#125733 - compiler-errors:async-fn-assoc-item, r=fmease 4feb8819521 Elaborate about modifying env vars in multi-threaded programs 25007197aef Add note about safety of `std::env::set_var` on Windows c4b1ff893a1 Make `std::env::{set_var, remove_var}` unsafe in edition 2024 07d3009644f drop_in_place: weaken the claim of equivalence with drop(ptr.read()) 99eabb47fb4 Add lang item for AsyncFnKindHelper::Upvars a8f468f97f8 Add lang item for Future::Output 2e1896e1976 Add lang items for AsyncFn's associated types d82378a11dd [ACP 362] genericize `ptr::from_raw_parts` 619e33b0691 Add FRAC_1_SQRT_2PI doc alias to FRAC_1_SQRT_TAU 12652447f15 make `ptr::rotate` smaller when using `optimize_for_size` bb6d4eb5be6 Add safety comment to fix tidy c8b699c1ab2 Optimize async drop glue for some old types 0444ab852cd Add FRAC_1_SQRT_2PI constant to f16/f32/f64/f128 1aaf0a9adac Rollup merge of rust-lang#125226 - madsmtm:fix-mac-catalyst-tests, r=workingjubilee 565dce2d3fe Rollup merge of rust-lang#124251 - scottmcm:unop-ptr-metadata, r=oli-obk a4025eba8f9 Add custom mir support for `PtrMetadata` 87b9f244814 Add an intrinsic for `ptr::metadata` 914d2c03f3a Rollup merge of rust-lang#125637 - nnethercote:rustfmt-fixes, r=GuillaumeGomez 3170156cbf5 Make more of the test suite run on Mac Catalyst 9753338652f Disable stack overflow handler tests on iOS-like platforms 35483898acf Don't format `tests/run-make/*/rmake.rs`. 6fcf1300f8b Rollup merge of rust-lang#125647 - tspiteri:track-lazy_cell_consume, r=workingjubilee 385e1b87512 Rollup merge of rust-lang#125551 - clarfonthey:ip-bits, r=jhpratt 457f5eebf4b update tracking issue for lazy_cell_consume 893db811403 Auto merge of rust-lang#125636 - workingjubilee:bump-backtrace-0.3.72, r=workingjubilee 67858588bb6 Sync libstd deps with backtrace b2148722d86 Bump backtrace to 0.3.72 0ef7706b6c1 Auto merge of rust-lang#125609 - diondokter:opt-size-char-count, r=thomcc 3578f429478 Rollup merge of rust-lang#124870 - Lokathor:update-result-docs, r=dtolnay d4fb66bf7aa Always use the general case char count 1e8098b6dd4 Size optimize int formatting a74509c7872 Rollup merge of rust-lang#125559 - scottmcm:simplify-shift-ubcheck, r=workingjubilee bc346a0aedb Auto merge of rust-lang#122079 - tbu-:pr_copy_file_range_probe, r=the8472 fdcee4d0921 std::pal::unix::thread fetching min stack size on netbsd. d14171db7a1 Auto merge of rust-lang#125574 - matthiaskrgr:rollup-1oljoup, r=matthiaskrgr 3e545bcb6f3 Rollup merge of rust-lang#125571 - tesuji:dummy-pi, r=Nilstrieb 840944248ea Rollup merge of rust-lang#125561 - Cyborus04:stabilize-slice-flatten, r=scottmcm 8981ee4ff26 Auto merge of rust-lang#125570 - tesuji:stdout-handle, r=Nilstrieb addaaed02ce f32: use constants instead of reassigning a dummy value as PI 8a6d10d57b7 use proper name instead of magic number 64671fa9e4b Stabilize `slice_flatten` 40140819538 Auto merge of rust-lang#125070 - tbu-:pr_set_extension_panic, r=jhpratt f54c5577ff7 Auto merge of rust-lang#125518 - saethlin:check-arguments-new-in-const, r=joboet a4bac2bc347 It seems that anchor names are implicitly all lowercase 7cddfd46930 Simplify the `unchecked_sh[lr]` ub-checks a bit 805f56b8e16 Fix URL target, it's in the module not the type. 3b77f19a9a8 github showed that weird. 65726c04182 correct for copy paste errors when fixing wrapping. 613145f6c4e Resolve rust-lang#124870 (comment) 9677b7057a8 revert to the inconsistent paragraph wrapping. bf3ca983d95 Rollup merge of rust-lang#124667 - newpavlov:stabilize_div_duration, r=jhpratt 4af28c44c31 Rollup merge of rust-lang#123803 - Sp00ph:shrink_to_fix, r=Mark-Simulacrum 79e1daf6925 Rollup merge of rust-lang#122986 - taiki-e:aix-c-char, r=Mark-Simulacrum 0b13a6c1235 Rollup merge of rust-lang#121377 - pitaj:lazy_cell_fn_pointer, r=dtolnay b1ac7da4a90 Stabilise ip_bits feature 23bb5bc4f4f Auto merge of rust-lang#121571 - clarfonthey:unchecked-math-preconditions, r=saethlin c11b36abf02 Rollup merge of rust-lang#125527 - programmerjake:patch-2, r=workingjubilee d6812d57a9e Rollup merge of rust-lang#125498 - zmodem:avx512er, r=workingjubilee f52291bef6b Rollup merge of rust-lang#125478 - Urgau:check-cfg-config-bump-stage0, r=Mark-Simulacrum 38dcab941d6 Rollup merge of rust-lang#125271 - RalfJung:posix_memalign, r=workingjubilee 29a1b3b9ffd Move the checks for Arguments constructors to inline const 5257f3f01ac Add manual Sync impl for ReentrantLockGuard 078095a8b94 std: make TLS accessors closures that return pointers 567096dab49 Rollup merge of rust-lang#125497 - meesfrensel:patch-1, r=calebzulawski dd828cf426c Stop using the avx512er and avx512pf x86 target features 749b3766746 Change pedantically incorrect OnceCell/OnceLock wording 2b1602ae72f Fix some SIMD intrinsics documentation 59b5617f8ce Remove now outdated comment since we bumped stage0 6d1cdb564d6 Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods ce29159a108 Simplify environment variable examples 8fa3f607e33 Document behavior of `create_dir_all` wrt. empty path dd196e7c132 Document platform-specifics for `Read` and `Write` of `File` a71d9d9f8e9 Fix c_char on AIX ce3db1b638a fix typo 49138842df5 use posix_memalign on most Unix targets 86878b964b1 Fix linkchecker doc errors 1bf7a30d31a Turn bare links into automatic links 736b2250797 Move BufGuard impl outside of function a44e7b3adea Fix tidy errors 36af6395634 Replace sort implementations 48a835b093a Divide float nanoseconds instead of seconds f84d57f6cc3 Don't use `T` with both Result and Option, improve explanation. 88338ff820a Add `size_of`, `size_of_val`, `align_of`, and `align_of_val` to the prelude 5d56638742b Panic if `PathBuf::set_extension` would add a path separator 7db52fca9b3 Add fn allocator method to rc/sync::Weak. Relax Rc<T>/Arc<T>::allocator to allow unsized T. 43bf016caa3 Suggest borrowing on fn argument that is `impl AsRef` 50d5af44701 use teletype on the attribute name 43ae1871a8b Some Result combinations work like an Option. d0c07aa8677 Move `test_shrink_to_unwind` to its own file. d77b1cc251a Fix `VecDeque::shrink_to` UB when `handle_alloc_error` unwinds. 0342284416b Use `CURRENT_RUSTC_VERSION` 9eb77db22f6 Stabilize `div_duration` 7a6ddb35da6 Lift the probe code of `copy_file_range` into a function f5305c1c49a Add missing .into_iter() 2a5af324d19 Extend the example code and assert the result 678e5a09970 Add "safety" comment ad38f9b8000 unroll first iter of checked_ilog loop to save one multiplication dbd03d4517e Stabilize `BinaryHeap::as_slice` 08f761fb838 DOC: Add FFI example for slice::from_raw_parts() 30c876cbfb4 Be stricter with `copy_file_range` probe results fe052461e10 Less syscalls for the `copy_file_range` probe 511fe47e8ea Stabilize `LazyCell` and `LazyLock` (`lazy_cell`) git-subtree-dir: library git-subtree-split: a2cf63619d70c12ce2cbd088982b6eea18777312
a2cf63619d7 Rollup merge of rust-lang#127813 - ChrisDenton:win-futex, r=joboet aeae3328f01 Rollup merge of rust-lang#127763 - ChrisDenton:safe-unsafe-unsafe, r=tgross35 e0ea7017a67 Prevent double reference in generic futex 417b61f271f Narrow the scope of the ReadFile unsafe block b4d1392064c forbid(unsafe_op_in_unsafe_fn) in sys/os_str f431b519c02 Rollup merge of rust-lang#127836 - workingjubilee:forbid-unsafe-ops-in-xous-uefi, r=tgross35 0a024bda728 Rollup merge of rust-lang#127833 - risc0:erik/zkvm-deny-unsafe, r=workingjubilee 0299bb5f196 Rollup merge of rust-lang#127807 - ChrisDenton:win-parking, r=joboet 61af010c325 Rollup merge of rust-lang#127792 - workingjubilee:read-unaligned-is-dwarfier, r=joboet d3cf2e16181 Rollup merge of rust-lang#127444 - Sky9x:cstr-bytes-iter, r=dtolnay 12075d15f76 Rollup merge of rust-lang#126776 - nnethercote:rustfmt-use-pre-cleanups-2, r=cuviper 00d603fc9c1 Rollup merge of rust-lang#126271 - diondokter:dec2flt-skip-fast-path, r=tgross35 8490c84ffb2 Rollup merge of rust-lang#125206 - mgeisler:simplify-std-env-vars, r=jhpratt,tgross35 a752e3b2772 uefi: Forbid unwrapped unsafe in platform modules 32a1b078ba4 Cfg nit e189d3b30e1 xous: Forbid unwrapped unsafe in platform modules 7ddd7f86509 zkvm: add `#[forbid(unsafe_op_in_unsafe_fn)]` in `stdlib` 0723962ffe1 Adjust some comments on individual `use` declarations. 4320ba0a9b5 Avoid comments that describe multiple `use` items. 1aeddb00b1e Merge some `core::iter` entries. 7a0b2fb5e16 Add unsafe blocks in unsafe Thread::new 8e76b152b93 Remove `slice_to_end` e8527cdadb6 std: unwrapped unsafe is VERBOTEN! 5e4edbadcb7 Rollup merge of rust-lang#127789 - Sword-Destiny:master, r=petrochenkov 1b631e5f140 Use futex.rs for Windows thread parking d59f862b675 std: Use read_unaligned for reading DWARF 686f75bb7a6 Rollup merge of rust-lang#127047 - tspiteri:f128-aconsts-lsd, r=tgross35 8b1d874a6ec deny unsafe_op_in_unsafe_fn for teeos f8bb325e1cf clean unsafe op in unsafe fn b5970178b63 clean unsafe op in unsafe fn 9fd9c61c0ef clean unsafe op in unsafe fn e0c57e42237 delete #![allow(unsafe_op_in_unsafe_fn)] 704f56f5d84 `impl Send + Sync` and override `count` for the `CStr::bytes` iterator a778c83ad92 Auto merge of rust-lang#127777 - matthiaskrgr:rollup-qp2vkan, r=matthiaskrgr 65355912072 Rollup merge of rust-lang#124921 - RalfJung:offset-from-same-addr, r=oli-obk ac443f29c05 Auto merge of rust-lang#127020 - tgross35:f16-f128-classify, r=workingjubilee 57937d7f2bd allow(unsafe_op_in_unsafe_fn) on some functions 94b381d6fc6 Some Windows functions are safe f3bb34b1088 Deny more windows unsafe_op_in_unsafe_fn eae94518584 Rollup merge of rust-lang#127750 - ChrisDenton:safe-unsafe-unsafe, r=workingjubilee 6257980b38d Rollup merge of rust-lang#127744 - workingjubilee:deny-unsafe-op-in-std, r=jhpratt 05614f3ce16 Rollup merge of rust-lang#127712 - ChrisDenton:raw-types, r=workingjubilee 14c24b1ba4c Mark some `f16` and `f128` functions unstably const 1b70afd5267 Move safety comment outside unsafe block 3c286d52b7d Make os/windows default to deny unsafe in unsafe d96ed862d21 Make pal/windows default to deny unsafe in unsafe bb3f60f0e69 Fix Windows 7 9fc6710fe07 Auto merge of rust-lang#127719 - devnexen:math_log_fix_solill, r=Amanieu decdb067d63 Don't re-export `c_int` from `c` a1a1c6a2d51 Remove DWORD 7d189919173 Remove ULONG d89bce6a28b Remove PSRWLOCK d3205de3d53 Remove LPVOID 68ac381171e Remove LPSECURITY_ATTRIBUTES 6d037b83d39 Remove LPOVERLAPPED 61f617d370a Remove LPCVOID 8a2537133ee Remove SIZE_T cd51de1f064 Remove CHAR 00a5b3b8733 Remove USHORT d621d21f702 Remove LPWSTR 0b22ecb55af Remove UINT 18adceff5ae Remove LONG 4eaaf7dcb61 Remove LARGE_INTEGER aa45985349c Remove NonZeroDWORD d7aa7cf7242 Auto merge of rust-lang#127732 - GrigorenkoPV:teeos-safe-sys-init, r=Amanieu 5ff7b404d5e std: Unsafe-wrap std::sync e8fa3ef2c24 std: Unsafe-wrap in Wtf8 impl 8c3a9c1c939 std: Unsafe-wrap std::io 91b7331a825 std: Directly call unsafe {un,}setenv in env 8c75111da55 std: Unsafe-wrap OSStr{,ing}::from_encoded_bytes_unchecked 4679f9a6cff std: Unsafe-wrap HashMap::get_many_unchecked_mut ac0fd279184 std: deny(unsafe_op_in_unsafe_fn) but allow sites f710e38693e Add `classify` and related methods for `f16` and `f128` 009660d51cc std: removes logarithms family function edge cases handling for solaris. 3492a6b5146 Auto merge of rust-lang#127728 - matthiaskrgr:rollup-ercdbjd, r=matthiaskrgr 08732993c73 sys::init is not unsafe on teeos 6c4029ad51b Rollup merge of rust-lang#127592 - tesuji:patch-1, r=Mark-Simulacrum 7cd8086b6c1 Auto merge of rust-lang#125935 - madsmtm:merge-os-apple, r=workingjubilee cfb0556a7f1 Merge Apple `std::os` extensions modules into `std::os::darwin` 54435f79fa5 Rollup merge of rust-lang#127704 - workingjubilee:fixup-better-than, r=ChrisDenton e1229496e7f Auto merge of rust-lang#127706 - workingjubilee:rollup-d07ij30, r=workingjubilee 30331206bd2 Rollup merge of rust-lang#127659 - saethlin:manually-drop-bufwriter, r=joboet e9eb7de0b4a Rollup merge of rust-lang#127446 - zachs18:miri-stdlib-leaks-core-alloc, r=Mark-Simulacrum 3ad25605a1f Rollup merge of rust-lang#127370 - ChrisDenton:win-sys, r=Mark-Simulacrum 05bf6bcfaeb doc: Suggest `str::repeat` over `iter::repeat().take().collect()` 96e8ba7a40c Fix minor typos in std::process doc on Win argv 6b67c664112 Auto merge of rust-lang#126958 - dtolnay:u32char, r=Mark-Simulacrum 591aaaf1e3e std::unix::fs: removing, now useless, layers predating macOs 10.10. 94ec6e79526 Auto merge of rust-lang#127674 - jhpratt:rollup-0dxy3k7, r=jhpratt a7c1f608ce4 Rollup merge of rust-lang#127668 - spencer3035:improve-slice-doc, r=jhpratt 1e49e055a69 Rollup merge of rust-lang#127661 - eduardosm:stabilize-io_slice_advance, r=cuviper c79e0030810 Auto merge of rust-lang#127397 - jyn514:multi-thread-panic-hook, r=workingjubilee 206678cfcd3 Auto merge of rust-lang#126606 - zachs18:patch-2, r=joboet 1bb035080b7 Updated slice documentation c8b79ddd46c Use ManuallyDrop in BufWriter::into_parts 6e26e27ee92 Stabilize io_slice_advance cac66641bfb Rename the internal `const_strlen` to just `strlen` 39647aba92c fix interleaved panic output 0476fc4842e Rollup merge of rust-lang#127433 - dtolnay:conststrlen, r=workingjubilee f66bd5fdfbd Rollup merge of rust-lang#126827 - the8472:pidfd-spawn, r=workingjubilee 1e5cd219cb6 Rollup merge of rust-lang#124980 - zachs18:rc-allocator, r=Amanieu 949f0d63178 Add instability attribute on private const_strlen function 20bfac6c159 Rollup merge of rust-lang#127422 - greaka:master, r=workingjubilee f937ef12bda Rollup merge of rust-lang#127599 - tgross35:lazy_cell_consume-rename, r=workingjubilee fde7fd261f2 Rollup merge of rust-lang#127588 - uweigand:s390x-f16-doctests, r=tgross35 ed47f986f1b Rollup merge of rust-lang#127572 - tbu-:pr_debug_event_nonpacked, r=jhpratt e5c8b859b88 Rollup merge of rust-lang#124599 - estebank:issue-41708, r=wesleywiser b71b538ec26 Rename `lazy_cell_consume` to `lazy_cell_into_inner` 9efc1cb294a core: Limit remaining f16 doctests to x86_64 linux a18fbd0ad0e Rollup merge of rust-lang#127554 - ferrocene:tshepang-add-missing-attribute, r=pietroalbini e419147a511 Don't mark `DEBUG_EVENT` struct as `repr(packed)` 4552576f397 Auto merge of rust-lang#126690 - andyolivares:feature/show_window, r=dtolnay 6f6e343956a Rollup merge of rust-lang#127091 - Sky9x:fused-error-sources-iter, r=dtolnay 0d64105175e Fixed doc links 4fb7b225972 Few changes to doc comments. Added tracking issue number. fe62f6f8ad6 Exposing STARTUPINFOW.wShowWindow in CommandExt (show_window function) to control how a new process should display its window (normal, minimized, maximized, etc) 7d20047874d do not run test where it cannot run c5f1c76ddea Auto merge of rust-lang#127235 - martn3:no-mips-f16, r=tgross35,scottmcm 3fefa04a3c1 Rollup merge of rust-lang#127460 - Borgerr:clarify-drop-comment, r=jhpratt 895175ada33 Rollup merge of rust-lang#127355 - aceArt-GmbH:126475, r=oli-obk 57cea32952c Rollup merge of rust-lang#120248 - WaffleLapkin:bonk-ptr-object-casts, r=compiler-errors,oli-obk,lnicola e74955e1f84 Attempt to fix CI e466bf57650 Rollup merge of rust-lang#127367 - ChrisDenton:run-sync, r=Nilstrieb 90504f870c5 Rollup merge of rust-lang#126921 - workingjubilee:outline-va-list, r=Nilstrieb c6b3f3db220 Auto merge of rust-lang#127454 - matthiaskrgr:rollup-k3vfen2, r=matthiaskrgr 29d792329d4 Move/change declaration of `mod exit_guard;` ecc90251720 clarify `sys::unix::fd::FileDesc::drop` comment (rust-lang#66876) 35c5a456fea Rollup merge of rust-lang#127447 - RalfJung:once_lock_miri, r=joboet 9f7100d382c Rollup merge of rust-lang#127354 - nicholasbishop:bishop-sized-doc, r=Nilstrieb ee06e7daee6 Rollup merge of rust-lang#127297 - the8472:path-new-hash, r=Nilstrieb 2206c6b52b9 Rollup merge of rust-lang#127189 - GrigorenkoPV:linkedlist-cursor-list, r=Nilstrieb 41bcc362ad5 Rollup merge of rust-lang#127179 - tgross35:typeid-debug-hex, r=Nilstrieb 7177ac878cc once_lock: make test not take as long in Miri 294d87f0c25 Remove non-focused memory leak in `std` doctest for Miri. a86fd0f0d19 Specialize `TrustedLen` for `Iterator::unzip()` 5515bbad984 Mitigate focused memory leaks in `core` doctests for Miri. 3a0fe26db17 Remove non-focused memory leaks in `core` doctests for Miri. 20d6cb372e6 Mitigate focused memory leaks in `alloc` doctests for Miri. cac890232ed Remove non-focused memory leaks in `alloc` doctests for Miri. bcdc8e8471d Stabilize const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes) a48f566b9a4 offset_from intrinsic: always allow pointers to point to the same address 9919a83b414 Mark format! with must_use hint 0907955d257 as_simd: fix comment to be in line with 507583a (rust-lang#121201) 5569eceddd0 Rollup merge of rust-lang#127275 - RalfJung:offset-from-isize-min, r=Amanieu 2337ab518af Rollup merge of rust-lang#125751 - pitaj:new_range_api, r=jhpratt ad4fde64af5 Rollup merge of rust-lang#127363 - GuillaumeGomez:improve-fmt-code-readability, r=Amanieu 3eeca5f7708 Rollup merge of rust-lang#127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix 1b5e5ac49eb Rollup merge of rust-lang#123600 - tisonkun:path_with_extension, r=dtolnay 5e9d4458222 Attempt to fix CI d8965d365be add `new_range_api` for RFC 3550 ca0f659f69d Move exit guard from sys::common::exit_guard to sys::exit_guard. cf300a7e34b Update library/std/src/sys/pal/common/exit_guard.rs ba4c71a7433 add unit tests for extra extension feature 55fc20b7cbd update comments 6b7a259b4f0 Add experimental raw-dylib feature to std c452e620459 Use windows_targets macro for alloc 521c81ab1c4 Run alloc sync tests 2fcdebb68d7 Improve readability of some fmt code examples 625bcc4987d Rollup merge of rust-lang#127320 - ChrisDenton:win-sys, r=Mark-Simulacrum f8caf5f24be Rollup merge of rust-lang#127214 - bjorn3:miri_native_unwind, r=oli-obk 1862054af88 Describe Sized requirements for mem::offset_of e26c8818397 impl FusedIterator and a size hint for the error sources iter 8f1c6640319 core: erase redundant stability attrs in va_list 60c33a58766 library: outline VaList into ffi::va_list 03d11c20585 Auto merge of rust-lang#126171 - RalfJung:simd_bitmask_multibyte, r=workingjubilee 297850a677e Add more checks for pointers with vtable meta f58a3d6903e Improve dead code analysis 515bd305955 Add comments to windows_targets.rs 89d2de0f95f Update windows-bindgen to 0.58.0 0860a040c83 also remove redundant requirements from offset() 6f80604442b offset_from: "the difference must fit in an isize" is a corollary de4f5c2ca62 Rollup merge of rust-lang#127303 - cuishuang:master, r=jhpratt 56c73c378a5 Rollup merge of rust-lang#127195 - biabbas:vxworks_cleanup, r=jhpratt 5dfdef71fae Rollup merge of rust-lang#126792 - wooden-worm:master, r=Mark-Simulacrum 4df2059a6f7 chore: remove repeat words acbefbbdec7 impl PathBuf::add_extension and Path::with_added_extension 13d5a423f3d Auto merge of rust-lang#127226 - mat-1:optimize-siphash-round, r=nnethercote ed3d4878d34 stir the hash state a little to avoid prefix collisions 5ca124f6d8a Add more test cases for path comparisons 33bc557dd48 Add test case demonstrating equality of paths "foo/bar" and "foobar" 079f99970d6 Move unique_thread_exit call to lang_start_internal so it is not in a generic function, and wrap it in `catch_unwind` 47d0cbc7e2f Remove Miri special-case 596be7ee7d7 Use pthread_t instead of numeric thread id 2e90f6f5e7c Use libc::pause instead of std::thread::park in wait-for-exit loop 1fd23e8568a core: Limit four f16 doctests to x86_64 linux e6f15c579fa std: Set has_reliable_f16 to false for MIPS targets in build.rs 67535b62417 library/std/build.rs: "powerpc64le" is not a target_arch 5b0d82f32d8 Rollup merge of rust-lang#127204 - dimpolo:stabilize_atomic_bool_fetch_not, r=jhpratt b184a84f13c Rollup merge of rust-lang#123588 - tgross35:stabilize-assert_unchecked, r=dtolnay 2a81053036c Fall back on remove dir implementation for vxworks a8b6d0a2e51 Rollup merge of rust-lang#127230 - hattizai:patch01, r=saethlin 4d7cbb257ee chore: remove duplicate words 645e9f24d68 Optimize SipHash by reordering compress instructions c5ab1f01d8c Rollup merge of rust-lang#127128 - elomatreb:elomatreb/stabilize-duration_abs_diff, r=joboet f09067288ce Rollup merge of rust-lang#126732 - StackOverflowExcept1on:master, r=m-ou-se 1dc4f05eed8 Use the native unwind function in miri where possible 4fff3351c87 Avoid MIR bloat in inlining 4385efde634 Stabilize atomic_bool_fetch_not 6c3359cdb0b Rollup merge of rust-lang#127182 - danielhuang:patch-4, r=Nilstrieb a0a438a75f2 Remove unqualified import io:: Error for vxworks as all Error references are qualified in process_vxworks.rs 2a65e9fd644 Auto merge of rust-lang#127026 - Urgau:cleanup-bootstrap-check-cfg, r=Kobzol bba22002ec8 LinkedList's Cursor: method to get a ref to the cursor's list 40a9be9a29e Update ip_addr.rs 986dbd1b458 Print `TypeId` as hex for debugging f27723e63ee Rollup merge of rust-lang#127069 - Sky9x:fmt-pointer-use-addr, r=Nilstrieb b068fce0ad9 Rollup merge of rust-lang#126895 - betelgeuse:improve_simd_gather_documentation, r=Amanieu a6b22e95975 Rollup merge of rust-lang#127134 - tgross35:typeid-debug, r=Nilstrieb 7f0bb45d5b9 Rollup merge of rust-lang#126906 - GrigorenkoPV:fixme-split_at_first, r=Mark-Simulacrum b0feb54c3d8 Rollup merge of rust-lang#126705 - safinaskar:panic, r=Mark-Simulacrum b8977f5a191 Auto merge of rust-lang#127133 - matthiaskrgr:rollup-jxkp3yf, r=matthiaskrgr affa2f90405 Print `TypeId` as a `u128` for `Debug` 05a472c8d62 Rollup merge of rust-lang#127122 - TDecking:div_ceil, r=Nilstrieb 9b3a5111038 Auto merge of rust-lang#120639 - fee1-dead-contrib:new-effects-desugaring, r=oli-obk f96a3214d6b Stabilize `duration_abs_diff` bf9096fc013 small correction to fmt::Pointer impl 171f5dbb17b Auto merge of rust-lang#127121 - GuillaumeGomez:rollup-xjjjckn, r=GuillaumeGomez 50a66465304 Remove uneccessary condition in `div_ceil` 79143898a34 Updated docs on `#[panic_handler]` in `library/core/src/lib.rs` 1858bdce9b8 Rollup merge of rust-lang#127073 - Sky9x:unnecessary-seqcst, r=Nilstrieb aaed20934c7 Rollup merge of rust-lang#127072 - Sky9x:docs-includes-vs-does-include, r=scottmcm e5a577d85dc Auto merge of rust-lang#127119 - RalfJung:miri-sync, r=RalfJung 77a5b51293f Rollup merge of rust-lang#126953 - joboet:lazy_key, r=jhpratt 8641f6a3b19 Merge from rustc 402992c7d21 Rollup merge of rust-lang#127071 - Sky9x:remove-ptr-to-from-bits, r=scottmcm 0a2d8e47740 Rollup merge of rust-lang#127070 - Sky9x:unit-const-param-ty, r=BoxyUwU 663f3d54372 Rollup merge of rust-lang#127055 - shepmaster:hash-finish-must-use, r=dtolnay 729a10a00b8 address review comments db228b821dd general fixups and turn `TODO`s into `FIXME`s 47492c9ec94 Implement `Min` trait in new solver cc4a0293697 implement new effects desugaring d6fadf5ac19 std: add safety comments 8c3c7dcea79 Rollup merge of rust-lang#126970 - DaniPopes:simplify-str-clone_into, r=cuviper ae98528d9f3 Rollup merge of rust-lang#126956 - joboet:fmt_no_extern_ty, r=RalfJung 652f0b8fe38 Merge from rustc 48dc678b2c6 Remove unnecessary SeqCst in `impl fmt::Pointer for AtomicPtr` e6e5e84cae6 docs: say "includes" instead of "does include" a722d391cd8 Remove (deprecated & unstable) {to,from}_bits pointer methods 2ed9c9f5b62 add () to the marker_impls macro for ConstParamTy fdfe0148965 Mark `Hasher::finish` as #[must_use] 2bd2069f1dd fix least significant digits of f128 associated constants 8db57c2b618 core: improve comment 1f8c8f42e51 Cleanup bootstrap check-cfg 6c38c60873f Rollup merge of rust-lang#126980 - Borgerr:fix-extendfromslice-check, r=workingjubilee a2dc9b539e3 Rollup merge of rust-lang#126929 - nnethercote:rm-__rust_force_expr, r=oli-obk cf231e8ada7 Merge from rustc a8b311eb853 Auto merge of rust-lang#126608 - tgross35:f16-f128-library, r=Mark-Simulacrum 4788a93eee2 std: test a variety of ways to extend a Wtf8Buf 57c2de81f2b set self.is_known_utf8 to false in extend_from_slice c14a130aa4a Rollup merge of rust-lang#126879 - the8472:next-chunk-filter-drop, r=cuviper f6fdef3996a core: avoid `extern` types in formatting infrastructure 43a865ad540 fix UI test, simplify error message ff33a6672e7 regression test for leaks in the the Filter::next_chunk implementation f90972a4104 add comments explaining optimizations for Filter::next_chunk 4039a7f34e7 fix Drop items getting leaked in Filter::next_chunk 0351c5316c0 Simplify `str::clone_into` 5aedb8ada69 Rollup merge of rust-lang#126946 - cyrgani:patch-1, r=compiler-errors 5664da3fcac Rollup merge of rust-lang#126927 - workingjubilee:vaargsafe-is-unsafe, r=joboet 927337346fd Rollup merge of rust-lang#126885 - Borgerr:rm_internal_pathbuf_asmutvec, r=workingjubilee 46074aad759 Rollup merge of rust-lang#126302 - mu001999-contrib:ignore/default, r=michaelwoerister 0fe53622318 Stabilize const unchecked conversion from u32 to char 9dcaa15a8dc std: separate TLS key creation from TLS access 5d08a54141c Detect unused structs which derived Default e6c45e4a711 `PathBuf::as_mut_vec` removed and verified for UEFI and Windows platforms rust-lang#126333 7cec6ef8d5e remove references to `PathBuf::as_mut_vec` in `PathBuf::_set_extension` 37f78f46760 inner truncate methods for UEFI platforms cfb802176cb rust-lang#126333 remove `PathBuf::as_mut_vec` reference at top of `PathBuf::_push` 3edb521863d simd_bitmask intrinsic: add a non-power-of-2 multi-byte example 2ddf7942352 Add missing slash in const_eval_select doc comment 19cfdb2c317 Add tests for `f16` and `f128` 561daffd3f5 Add more `f16` and `f128` library functions and constants 6cb3d34841e Add doctests to existing `f16` and `f128` functions b0e050324f9 Add build.rs config for reliable `f16` and `f128` 028026b9b30 Remove `__rust_force_expr`. 1069a689007 core: VaArgSafe is an unsafe trait a451b2a9f8b Auto merge of rust-lang#126852 - scottmcm:more-checked-math-tweaks, r=Amanieu 17d03b950a4 Check that we get somewhat sane PIDs when spawning with pidfds 4c9a96eebda more fine-grained feature-detection for pidfd spawning bf06e436d4a document safety properties of the internal Process::new constructor 9212236fc18 use pidfd_spawn for faster process creation when pidfds are requested 4815f2968d4 document the cvt methods 1bd207e6b0a Rollup merge of rust-lang#126904 - GrigorenkoPV:nonzero-fixme, r=joboet 2676918a59b Rollup merge of rust-lang#125575 - dingxiangfei2009:derive-smart-ptr, r=davidtwco 9dcffa5782f Rollup merge of rust-lang#125082 - kpreid:const-uninit, r=dtolnay cf34f71c117 Replace `MaybeUninit::uninit_array()` with array repeat expression. e51d8a2224f Auto merge of rust-lang#126523 - joboet:the_great_big_tls_refactor, r=Mark-Simulacrum 2b8c7a3813f Small fixme in core now that split_first has no codegen issues 532304befc3 Small fixme in core now that NonZero is generic 5ae0378035a std: fix wasm builds ae08c581475 Rollup merge of rust-lang#126213 - zachs18:atomicbool-u8-i8-from-ptr-alignment, r=Nilstrieb 071e80d6c4a Fix simd_gather documentation 0c4a661ebdf wasm64 build with target-feature=+simd128,+atomics 36a20f7b383 Reword docs for `f32` and `f64` 6839ec5efd2 Extract repeated constants from `f32` and `f64` source c26bd79991f Rollup merge of rust-lang#126854 - devnexen:std_unix_os_fallback_upd, r=Mark-Simulacrum 828e528d416 Rollup merge of rust-lang#126807 - devnexen:copy_file_macos_simpl, r=Mark-Simulacrum e4bc79db7fe Also get `add nuw` from `uN::checked_add` 7c83a041921 SmartPointer derive-macro f0b95fcce71 fix build 12ec5b7b691 Rollup merge of rust-lang#126783 - tguichaoua:fix_tcplistener_into_incoming_issue_number, r=workingjubilee eb265d0841e std::unix::os::home_dir: fallback's optimisation. a48f3d6475d Auto merge of rust-lang#126838 - matthiaskrgr:rollup-qkop22o, r=matthiaskrgr ec8af4b3c06 Rollup merge of rust-lang#126552 - fee1-dead-contrib:rmfx, r=compiler-errors 6d6ba925574 Rollup merge of rust-lang#126140 - eduardosm:stabilize-fs_try_exists, r=Amanieu e1edea8f3a4 Auto merge of rust-lang#116113 - kpreid:arcmut, r=dtolnay 49d4fdb09f1 Generalize `{Rc,Arc}::make_mut()` to unsized types. 5ac719ed6a2 Replace `WriteCloneIntoRaw` with `CloneToUninit`. a4ca461939e Add `core::clone::CloneToUninit`. 78368435c65 Auto merge of rust-lang#126750 - scottmcm:less-unlikely, r=jhpratt 934e7286794 Auto merge of rust-lang#124101 - the8472:pidfd-methods, r=cuviper c2ec99b6637 to extract a pidfd we must consume the child f7cf777c00b Add PidFd::{kill, wait, try_wait} d688595fa6c std::unix::fs: copy simplification for apple. bb602cf940d Auto merge of rust-lang#125853 - tesuji:promote-fail-fast, r=cjgillot 1f1793634b4 update intrinsic const param counting 5e7ce0bad23 Remove `feature(effects)` from the standard library 8902c171c30 Auto merge of rust-lang#126781 - matthiaskrgr:rollup-5u4pens, r=matthiaskrgr 54eaed7e5ef fix issue number 2e01ae34277 Rollup merge of rust-lang#126613 - tgross35:log-test-update, r=cuviper 306d7bf153a Stop using `unlikely` in `strict_*` methods a8ab1ceb396 [GVN] Add tests for generic pointees with PtrMetadata a272844a6e1 Don't perform mitigation for thread-unsafe libc::exit under Miri. 5035a17dec1 fix rustdoc URL 1530977b9a5 On `target_os = "linux"`, ensure that only one Rust thread calls `libc::exit` or returns from `main`. 7e940ba00cf Auto merge of rust-lang#126578 - scottmcm:inlining-bonuses-too, r=davidtwco 9a945fdf0e9 Auto merge of rust-lang#124032 - Voultapher:a-new-sort, r=thomcc dbaf524df30 Rollup merge of rust-lang#126737 - fee1-dead-contrib:rm-const-closures, r=compiler-errors 0f6922d6272 Fix wrong big O star bracing in the doc comments 7bf7f578614 Remove `feature(const_closures)` from libcore b4e2e4ac6e9 Auto merge of rust-lang#126736 - matthiaskrgr:rollup-rb20oe3, r=matthiaskrgr 0829ab8d1b7 Rollup merge of rust-lang#126717 - nnethercote:rustfmt-use-pre-cleanups, r=jieyouxu f1c9c809b1f Rollup merge of rust-lang#126711 - GKFX:const-option-as-slice, r=oli-obk e0572323ddb Auto merge of rust-lang#116088 - nbdd0121:unwind, r=Amanieu,RalfJung 13ea648b170 Stabilize `PanicInfo::message()` and `PanicMessage` b6a38581515 Rollup merge of rust-lang#126703 - the8472:on-blackbox-crypto-use, r=scottmcm 847726d1be8 Shrink some slice iterator MIR 1ba2fa4b637 Stabilize `hint_assert_unchecked` 9d0041c40d7 Update documentation for `hint::assert_unchecked` e3e84a75a9b Add blank lines after module-level `//` comments. 36ad0db0a23 Add blank lines after module-level `//!` comments. 4e67110a2fb Convert some module-level `//` and `///` comments to `//!`. 669d6fce08c Make Option::as_[mut_]slice const 4ae781cb5e2 reword the hint::blackbox non-guarantees dd7c901e95d core: add tracking issue for `array::repeat` 5ddeaca202b core: simplify implementation of `array::repeat`, address other nits 62f7a4e4e92 core: implement `UncheckedIterator` for `RepeatN` 387fd1f34c6 core: implement `array::repeat` 3fc18d0b40c Add a hack to prevent proc_macro misopt in CI a95938d6730 Stabilise c_unwind 2a5e5b887ef Rollup merge of rust-lang#125787 - Oneirical:infinite-test-a-novel, r=jieyouxu 227994dbde2 try implementing suggestions 78867ab1aa0 run_make_support nm implementation + bin-emit-no-symbols rmake rewrite 76e61bf77a6 Replace `move||` with `move ||` in `compiler/` and `library/` 13a31b63b4f Auto merge of rust-lang#126330 - m-ou-se:panic-message-type, r=Amanieu 42802a3a09e Print the tested value in int_log tests ea1ab74eb6d Add missing CopyMarker impl 384c2054629 Revert panic_safe test changes ca458bac5ae Add PanicMessage type for PanicInfo::message(). 22389455823 Add tracking issue to async_drop API 0b3227b6dac std: rename module for clarity 2b9a4f38bd6 std: update TLS module documentation 00d4964bb22 std: use the `c_int` from `core::ffi` instead of `libc` bd3b9eca35a std: simplify `#[cfg]`s for TLS 78eaad5fb0a Fix unintended regression for Freeze + Copy types 8cd20cb8dc1 Auto merge of rust-lang#126569 - jieyouxu:rollup-1uvkb2y, r=jieyouxu c1acd7a6844 Rollup merge of rust-lang#126531 - slanterns:error_provider, r=workingjubilee cd1c9984d30 Rollup merge of rust-lang#126468 - RalfJung:euclid, r=Mark-Simulacrum 27308799efa Rollup merge of rust-lang#126346 - hermit-os:fd, r=Amanieu ebbce699236 Rollup merge of rust-lang#126288 - x4exr:patch-1, r=dtolnay 4aa43c72385 Auto merge of rust-lang#125720 - folkertdev:optimize_for_size-ptr-rotate, r=Amanieu 791232945c4 doc: Added commas where needed 48e157873f1 Fix doc-link issue 489dfceabae Remove reliance on const_trait in sort implementations 89b578450c9 std: move `sys_common::backtrace` to `sys` 90dbe22a287 use rustc-dep-of-std in panic_unwind 6832ad31e1c Rollup merge of rust-lang#126539 - lukaslueg:patch-1, r=jhpratt 04e46c2630d Rollup merge of rust-lang#125112 - tbu-:pr_create_dir_all_empty, r=dtolnay e77b4744b48 Update `Arc::try_unwrap()` docs 83c530fb2f8 Apply review comments ae7f43eda80 Auto merge of rust-lang#126299 - scottmcm:tune-sliceindex-ubchecks, r=saethlin 339f26630a2 Redo SliceIndex implementations 2388743f251 update comment 4cc1c37692c Rollup merge of rust-lang#126229 - ChrisDenton:bindgen, r=Mark-Simulacrum b40c54bb5bc std: refactor the TLS implementation 7e3c4f82606 Auto merge of rust-lang#126518 - matthiaskrgr:rollup-wb70rzq, r=matthiaskrgr 26785938493 std: suggest OnceLock over Once b509ed20612 Polish `std::path::absolute` documentation. c3c175798d2 Auto merge of rust-lang#126473 - matthiaskrgr:rollup-8w2xm09, r=matthiaskrgr a135342704a Rollup merge of rust-lang#126285 - kpreid:unique-rc, r=dtolnay 7fafb6d366e Rollup merge of rust-lang#126266 - tbu-:pr_doc_alloc_default_system, r=jhpratt afee9f5e11d Rollup merge of rust-lang#126135 - hermit-os:fuse, r=jhpratt 4a32b4bcf84 Rollup merge of rust-lang#123769 - dtolnay:literal, r=fee1-dead 3909d510924 div_euclid, rem_euclid: clarify/extend documentation ca52a2ca0e3 Rollup merge of rust-lang#126351 - devnexen:to_sol11_upd, r=ChrisDenton 369fa557b2f Rollup merge of rust-lang#126402 - firefighterduck:fix-unsafe-precon-copy, r=Nilstrieb 2acb995e558 Rollup merge of rust-lang#126390 - Kriskras99:master, r=Nilstrieb b3c1dcb8a6b Rollup merge of rust-lang#126360 - compiler-errors:uplift-structural-traits, r=lcnr bdb9aa2f3cd Rollup merge of rust-lang#123726 - jieyouxu:command-new-docs, r=Nilstrieb 307d1afdbd4 Remove superfluous escaping from byte, byte str, and c str literals 78d94eeb0ff LangItem-ify Coroutine trait in solvers 891f00ce0fd fix wrong assert_unsafe_precondition message for core::ptr::copy 9adf702cc46 Rollup merge of rust-lang#126384 - RalfJung:is_none_or, r=workingjubilee 02cb1e9e580 Rollup merge of rust-lang#126347 - slanterns:try_simplify, r=scottmcm fa2a54a54c6 Fix wording in {checked_}next_power_of_two 3ef894f8bc5 add tracking issue for is_none_or a5fe19dc0bd std::unix::fs::link using direct linkat call for Solaris and macOs. 9921cd25ed1 Rollup merge of rust-lang#126328 - RalfJung:is_none_or, r=workingjubilee 93583a69853 Simplify `try_*` on `Iterator` 47090b15fb8 export std::os::fd module on HermitOS 17c90d81d23 Auto merge of rust-lang#126273 - pietroalbini:pa-bootstrap-update, r=Mark-Simulacrum b482e06e29c add is_none_or 027c82e6edc Rollup merge of rust-lang#126322 - m-ou-se:panicinfo-and-panicinfo-2, r=RalfJung db03ec6a89e Rollup merge of rust-lang#126242 - yaahc:simplify-provider, r=jhpratt 956efdef025 Rollup merge of rust-lang#126039 - dpaoliello:arm64ecbuild, r=davidtwco 3acb41fba7c Fix deprecated version. bc5e618edd3 Update doc comment on PanicInfo::message(). 249d63e985c Use payload_as_str instead of two downcasts. 15677e9f865 Fix deprecation version. a239d5bf0e1 Clarify doc comment. 209f8c80d1f Auto merge of rust-lang#126319 - workingjubilee:rollup-lendnud, r=workingjubilee 6ec98e76fb6 Rollup merge of rust-lang#126305 - workingjubilee:fix-os-string-to-string-utf8-invariant, r=joboet 80467da88db Rollup merge of rust-lang#126287 - nnethercote:reformat-cranelift-patch, r=bjorn3 5760a4e9d4e Rollup merge of rust-lang#126281 - ChrisDenton:env, r=jhpratt 439c2ae36dc Rollup merge of rust-lang#126249 - workingjubilee:simplify-try-map-signature, r=scottmcm 23e3dbf043a Rollup merge of rust-lang#126210 - lolbinarycat:ptr_doctest_assert, r=workingjubilee d46939470bf Rollup merge of rust-lang#123374 - mgeier:doc-slice-from-raw-parts, r=scottmcm 63fe960c257 Require any function with a tait in its signature to actually constrain a hidden type e1d73c2d74a Revert "Rollup merge of rust-lang#125362 - joboet:tait_hack, r=Nilstrieb" 382ed528dc8 Make PathBuf less Ok with adding UTF-16 then `into_string` 548e7a4135e Update a cranelift patch file for formatting changes. 8ccbe9e6c8a `UniqueRc`: support allocators and `T: ?Sized`. b3dcee69396 set_env: State the conclusion upfront f56c02311ee Rename `std::fs::try_exists` to `std::fs::exists` and stabilize fs_try_exists c16d8b1f7a5 Unify guarantees about the default allocator d8fe5899dc8 remove cfg(bootstrap) a2ff49b68b4 replace version placeholder f72e4a99cd5 Formatting. 0503ca79148 Bump deprecation of std's PanicInfo alias to 1.82.0. fea6b035e61 Add PanicHookInfo::payload_as_str(). 0c8a9e06b97 Fix display of panic message in recursive panic. 2f85702e572 Mention core's PanicInfo in error.md. ad0667f9724 Add note on panic payload type. 518722eccfc Downcast panic payload to String too in example. c4dea816f7f Move deprecation of std::panic::PanicInfo to 1.80.0. 143e4c4a40e Fix deprecation version. c6749ae5b90 Rename std::panic::PanicInfo to PanicHookInfo. db2e05588c5 Formatting. 51f20ac6148 Fix invalid markdown/html. d4b7304c0de Reorder body of begin_panic for consistency. 373fb60b119 Impl Display for PanicPayload to simplify things. 224d45cf15c Use unnamed lifetimes for [..]Payload impl blocks. cf984e0e154 Move downcasting panic payload to str to a function. a18eeac0a12 Mark some PanicInfo methods as #[inline] for consistency. 47f359bc210 Remove std::panic::PanicInfo::internal_constructor+set_payload. 701d6a23254 Remove core::panic::PanicInfo::internal_constructor. cca865dd137 Update doc comment about core::panicking. 221a90ccb77 Fix doc link. d6658a5e3dd Add core::panic::PanicInfo::payload() for compatibility. ca0bfebc0fe Document difference between core and std's PanicInfo. 702405ed414 Split core's PanicInfo and std's PanicInfo. 019e01f23f5 Skip fast path for dec2flt when optimize_for_size 483f641ee13 Simplify `[T; N]::try_map` signature 8b6f468edd8 Simplify provider api to improve llvm ir c8170e67b53 Rollup merge of rust-lang#126212 - SteveLauC:fix/haiku, r=joboet 58bb5cfddf4 Rollup merge of rust-lang#126191 - ivan-shrimp:nonzero_doc, r=scottmcm d2f8ddfcc21 Bump windows-bindgen to 0.57 02bf1521553 Clarify `Command::new` behavior if passed programs with arguments e17d6b968b4 Remove some unused crate dependencies. 5840184c348 Update docs for AtomicU8/I8. 87915497e69 fix: build on haiku 263861f45c9 Update safety docs for AtomicBool::from_ptr. e25ae61e2b5 docs(core): make more const_ptr doctests assert instead of printing cf9de23d66b Auto merge of rust-lang#126205 - jieyouxu:rollup-s64z5ng, r=jieyouxu c5da756bc2a Rollup merge of rust-lang#126194 - ChrisDenton:winerror, r=Mark-Simulacrum c4bd74c1902 Rollup merge of rust-lang#125253 - sunsided:feature/FRAC_1_SQRT_PI, r=Mark-Simulacrum c9c5d8f0189 Auto merge of rust-lang#126193 - RalfJung:miri-sync, r=RalfJung e39299d577e Migrate more things to WinError 0df0a38c38b fix `NonZero` doctest inconsistencies 818933db00d Rollup merge of rust-lang#126168 - devnexen:current_exe_haiku_simpl, r=ChrisDenton a9bd5698ac7 Rollup merge of rust-lang#126146 - devnexen:signal_fbsd, r=ChrisDenton 05812a0309b Merge from rustc 56bdaf3dfb3 std::unix::os current_exe implementation simplification for haiku. e6c378f9a8e Auto merge of rust-lang#125966 - schvv31n:impl_os_string_pathbuf_leak, r=workingjubilee e000ecbd84a std::unix::process adding few specific freebsd signals to be able to id. 67454f58555 Rollup merge of rust-lang#126138 - wbk:patch-1, r=lqd ca932c80555 Rollup merge of rust-lang#125998 - devnexen:get_mode_illumos, r=Nilstrieb 397e9cbe400 Rollup merge of rust-lang#125951 - slanterns:error_in_core_stabilization, r=Amanieu 4655eca9735 Fix typo in docs for std::pin bb2e2d9fc7d add HermitOS support of vectored read/write operations dd7ccb77633 Rollup merge of rust-lang#126089 - wutchzone:option_take_if, r=scottmcm 199da77e638 Rollup merge of rust-lang#126030 - ChrisDenton:update-wingen-readme, r=Mark-Simulacrum 8a4b11aa65d Rollup merge of rust-lang#124012 - slanterns:as_slice_stabilize, r=BurntSushi 05a92c2d02b Auto merge of rust-lang#126110 - workingjubilee:backtrace-0.3.73, r=workingjubilee cd73cbea88a Update backtrace to 0.3.73 c6e53ce2b1a Merge from rustc 3b603356225 Rollup merge of rust-lang#125606 - diondokter:opt-size-int-fmt, r=cuviper 7014731c32e fix doc comments about `error_generic_member_access` 3f4816887c7 Stabilize `error_in_core` 20f15f4d41a fixed memory leaks in PathBuf::leak & OsString::leak tests fa66a61d655 Rollup merge of rust-lang#126096 - c410-f3r:tests-tests-tests, r=jhpratt 57369442f0d [RFC-2011] Allow `core_intrinsics` when activated dfddd7e5a86 Stabilize Option::take_if 051c6c60977 Raise `DEFAULT_MIN_STACK_SIZE` to at least 64KiB 29932f32723 Auto merge of rust-lang#126038 - matthiaskrgr:rollup-h4rm3x2, r=matthiaskrgr 149a2370c6e Promote `arm64ec-pc-windows-msvc` to tier 2 4a81c121a38 Rollup merge of rust-lang#126032 - ChrisDenton:update-docs, r=joboet 7450cf043b4 Rollup merge of rust-lang#125800 - fortanix:raoul/rte-99-fix_mut_static_task_queue, r=jethrogb ed91d5578b4 Rollup merge of rust-lang#125940 - devnexen:unix_fs_netbsd_get_path, r=cuviper bf7430fdc68 Update description of the `IsTerminal` example 91c8b231664 Update `./x fmt` command 16321651051 Rollup merge of rust-lang#125995 - kpreid:const-uninit-stable, r=Nilstrieb 2c5f1acc4c1 Rollup merge of rust-lang#125982 - xTachyon:fix-linked-list, r=jhpratt 80cee25cbad Rollup merge of rust-lang#123168 - joshtriplett:size-of-prelude, r=Amanieu 28dc012bfbf std::unix::fs::get_mode implementation for illumos/solaris. 14a6f295bcd Use inline const instead of unsafe to implement `MaybeUninit::uninit_array()`. a2c3406e626 Use inline const instead of unsafe to construct arrays in `MaybeUninit` examples. f8ee355f9c4 Rollup merge of rust-lang#125932 - schvv31n:patch-1, r=lqd 49dad463287 Rollup merge of rust-lang#125927 - ferrocene:lw-alloc-unwind-test, r=pietroalbini e38c13a5962 Rollup merge of rust-lang#125696 - workingjubilee:please-dont-say-you-are-lazy, r=Nilstrieb 1764910ce42 Rollup merge of rust-lang#106186 - rossmacarthur:ft/iter-chain, r=Amanieu fbb5246b92c Make deleting on LinkedList aware of the allocator 85aa4b6ae53 impl OsString::leak & PathBuf::leak b19dd145ea9 Add function `core::iter::chain` 25245bba3d9 Rollup merge of rust-lang#125919 - tbu-:pr_fix_typo, r=lqd a415dddaa0d Rollup merge of rust-lang#125504 - mqudsi:once_nominal, r=cuviper ea7e91c6357 Let compiler auto impl `Send` for `Task` 55f3d10071c Store `Task::p` as `dyn FnOnce() + Send` 92b604f475f Pass function for `Thread` as `Send` to `Thread::imp` 175ad227af0 Auto merge of rust-lang#125525 - joboet:tls_accessor, r=cuviper 31e0022e8f2 std::unix::fs::get_path: using fcntl codepath for netbsd instead. 82e24ad44cd Fix typo in the docs of `HashMap::raw_entry_mut` fcc07af4e3a Ignore `vec_deque_alloc_error::test_shrink_to_unwind` test on non-unwind targets 6ef46b31227 Auto merge of rust-lang#125912 - nnethercote:rustfmt-tests-mir-opt, r=oli-obk 79271381c4f Remove stray "this" 06d9b0e9397 Add "OnceList" example to motivate OnceLock 6d001c57db6 Move first OnceLock example to LazyLock 7e47256ddbf Differ LazyLock vs. OnceLock in std::sync overview a198721997c Explain LazyCell in core::cell overview ae5598aabc3 Reformat `mir!` macro invocations to use braces. 494f05c1d78 Rollup merge of rust-lang#125898 - RalfJung:typo, r=Nilstrieb 7881d33deef Rollup merge of rust-lang#125884 - Rua:integer_sign_cast, r=Mark-Simulacrum 380d9a3d410 Rollup merge of rust-lang#121062 - RustyYato:f32-midpoint, r=the8472 81b9e26560b Wording of the documentation 1c707b64249 typo: depending from -> on fe5adb924fb Auto merge of rust-lang#125577 - devnexen:netbsd_stack_min, r=joboet 876458ec8a2 Implement feature `integer_sign_cast` e929c7fda65 Change f32::midpoint to upcast to f64 cd0400080d5 Auto merge of rust-lang#124294 - tspiteri:ilog-first-iter, r=the8472 7f0b19dd24d stablize `const_binary_heap_constructor` & create an unstable feature `const_binary_heap_new_in` for `BinaryHeap::new_in` 5c2e2744f32 Rollup merge of rust-lang#125730 - mu001999-contrib:clippy-fix, r=oli-obk 9fe18037b50 Auto merge of rust-lang#124662 - zetanumbers:needs_async_drop, r=oli-obk 894310362d5 Avoid `mut` and simplify initialization of `TASK_QUEUE` ba98164a104 Auto merge of rust-lang#124636 - tbu-:pr_env_unsafe, r=petrochenkov bbaaa79ab59 Rollup merge of rust-lang#125746 - jmillikin:duration-from-weeks-typo, r=lqd 1329a62eb9e Rollup merge of rust-lang#125739 - RalfJung:drop-in-place-docs, r=workingjubilee 8883bcf630b Rollup merge of rust-lang#125342 - tbu-:pr_doc_write, r=ChrisDenton 14d5dcb4160 explain what the open questions are, and add a Miri test for that 6f01ba7ade6 Apply x clippy --fix and x fmt c9c0713ee9b Fix copy-paste error in `Duration::from_weeks` panic message. e935223b1b8 Rollup merge of rust-lang#125733 - compiler-errors:async-fn-assoc-item, r=fmease 4feb8819521 Elaborate about modifying env vars in multi-threaded programs 25007197aef Add note about safety of `std::env::set_var` on Windows c4b1ff893a1 Make `std::env::{set_var, remove_var}` unsafe in edition 2024 07d3009644f drop_in_place: weaken the claim of equivalence with drop(ptr.read()) 99eabb47fb4 Add lang item for AsyncFnKindHelper::Upvars a8f468f97f8 Add lang item for Future::Output 2e1896e1976 Add lang items for AsyncFn's associated types d82378a11dd [ACP 362] genericize `ptr::from_raw_parts` 619e33b0691 Add FRAC_1_SQRT_2PI doc alias to FRAC_1_SQRT_TAU 12652447f15 make `ptr::rotate` smaller when using `optimize_for_size` bb6d4eb5be6 Add safety comment to fix tidy c8b699c1ab2 Optimize async drop glue for some old types 0444ab852cd Add FRAC_1_SQRT_2PI constant to f16/f32/f64/f128 1aaf0a9adac Rollup merge of rust-lang#125226 - madsmtm:fix-mac-catalyst-tests, r=workingjubilee 565dce2d3fe Rollup merge of rust-lang#124251 - scottmcm:unop-ptr-metadata, r=oli-obk a4025eba8f9 Add custom mir support for `PtrMetadata` 87b9f244814 Add an intrinsic for `ptr::metadata` 914d2c03f3a Rollup merge of rust-lang#125637 - nnethercote:rustfmt-fixes, r=GuillaumeGomez 3170156cbf5 Make more of the test suite run on Mac Catalyst 9753338652f Disable stack overflow handler tests on iOS-like platforms 35483898acf Don't format `tests/run-make/*/rmake.rs`. 6fcf1300f8b Rollup merge of rust-lang#125647 - tspiteri:track-lazy_cell_consume, r=workingjubilee 385e1b87512 Rollup merge of rust-lang#125551 - clarfonthey:ip-bits, r=jhpratt 457f5eebf4b update tracking issue for lazy_cell_consume 893db811403 Auto merge of rust-lang#125636 - workingjubilee:bump-backtrace-0.3.72, r=workingjubilee 67858588bb6 Sync libstd deps with backtrace b2148722d86 Bump backtrace to 0.3.72 0ef7706b6c1 Auto merge of rust-lang#125609 - diondokter:opt-size-char-count, r=thomcc 3578f429478 Rollup merge of rust-lang#124870 - Lokathor:update-result-docs, r=dtolnay d4fb66bf7aa Always use the general case char count 1e8098b6dd4 Size optimize int formatting a74509c7872 Rollup merge of rust-lang#125559 - scottmcm:simplify-shift-ubcheck, r=workingjubilee bc346a0aedb Auto merge of rust-lang#122079 - tbu-:pr_copy_file_range_probe, r=the8472 fdcee4d0921 std::pal::unix::thread fetching min stack size on netbsd. d14171db7a1 Auto merge of rust-lang#125574 - matthiaskrgr:rollup-1oljoup, r=matthiaskrgr 3e545bcb6f3 Rollup merge of rust-lang#125571 - tesuji:dummy-pi, r=Nilstrieb 840944248ea Rollup merge of rust-lang#125561 - Cyborus04:stabilize-slice-flatten, r=scottmcm 8981ee4ff26 Auto merge of rust-lang#125570 - tesuji:stdout-handle, r=Nilstrieb addaaed02ce f32: use constants instead of reassigning a dummy value as PI 8a6d10d57b7 use proper name instead of magic number 64671fa9e4b Stabilize `slice_flatten` 40140819538 Auto merge of rust-lang#125070 - tbu-:pr_set_extension_panic, r=jhpratt f54c5577ff7 Auto merge of rust-lang#125518 - saethlin:check-arguments-new-in-const, r=joboet a4bac2bc347 It seems that anchor names are implicitly all lowercase 7cddfd46930 Simplify the `unchecked_sh[lr]` ub-checks a bit 805f56b8e16 Fix URL target, it's in the module not the type. 3b77f19a9a8 github showed that weird. 65726c04182 correct for copy paste errors when fixing wrapping. 613145f6c4e Resolve rust-lang#124870 (comment) 9677b7057a8 revert to the inconsistent paragraph wrapping. bf3ca983d95 Rollup merge of rust-lang#124667 - newpavlov:stabilize_div_duration, r=jhpratt 4af28c44c31 Rollup merge of rust-lang#123803 - Sp00ph:shrink_to_fix, r=Mark-Simulacrum 79e1daf6925 Rollup merge of rust-lang#122986 - taiki-e:aix-c-char, r=Mark-Simulacrum 0b13a6c1235 Rollup merge of rust-lang#121377 - pitaj:lazy_cell_fn_pointer, r=dtolnay b1ac7da4a90 Stabilise ip_bits feature 23bb5bc4f4f Auto merge of rust-lang#121571 - clarfonthey:unchecked-math-preconditions, r=saethlin c11b36abf02 Rollup merge of rust-lang#125527 - programmerjake:patch-2, r=workingjubilee d6812d57a9e Rollup merge of rust-lang#125498 - zmodem:avx512er, r=workingjubilee f52291bef6b Rollup merge of rust-lang#125478 - Urgau:check-cfg-config-bump-stage0, r=Mark-Simulacrum 38dcab941d6 Rollup merge of rust-lang#125271 - RalfJung:posix_memalign, r=workingjubilee 29a1b3b9ffd Move the checks for Arguments constructors to inline const 5257f3f01ac Add manual Sync impl for ReentrantLockGuard 078095a8b94 std: make TLS accessors closures that return pointers 567096dab49 Rollup merge of rust-lang#125497 - meesfrensel:patch-1, r=calebzulawski dd828cf426c Stop using the avx512er and avx512pf x86 target features 749b3766746 Change pedantically incorrect OnceCell/OnceLock wording 2b1602ae72f Fix some SIMD intrinsics documentation 59b5617f8ce Remove now outdated comment since we bumped stage0 6d1cdb564d6 Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods ce29159a108 Simplify environment variable examples 8fa3f607e33 Document behavior of `create_dir_all` wrt. empty path dd196e7c132 Document platform-specifics for `Read` and `Write` of `File` a71d9d9f8e9 Fix c_char on AIX ce3db1b638a fix typo 49138842df5 use posix_memalign on most Unix targets 86878b964b1 Fix linkchecker doc errors 1bf7a30d31a Turn bare links into automatic links 736b2250797 Move BufGuard impl outside of function a44e7b3adea Fix tidy errors 36af6395634 Replace sort implementations 48a835b093a Divide float nanoseconds instead of seconds f84d57f6cc3 Don't use `T` with both Result and Option, improve explanation. 88338ff820a Add `size_of`, `size_of_val`, `align_of`, and `align_of_val` to the prelude 5d56638742b Panic if `PathBuf::set_extension` would add a path separator 7db52fca9b3 Add fn allocator method to rc/sync::Weak. Relax Rc<T>/Arc<T>::allocator to allow unsized T. 43bf016caa3 Suggest borrowing on fn argument that is `impl AsRef` 50d5af44701 use teletype on the attribute name 43ae1871a8b Some Result combinations work like an Option. d0c07aa8677 Move `test_shrink_to_unwind` to its own file. d77b1cc251a Fix `VecDeque::shrink_to` UB when `handle_alloc_error` unwinds. 0342284416b Use `CURRENT_RUSTC_VERSION` 9eb77db22f6 Stabilize `div_duration` 7a6ddb35da6 Lift the probe code of `copy_file_range` into a function f5305c1c49a Add missing .into_iter() 2a5af324d19 Extend the example code and assert the result 678e5a09970 Add "safety" comment ad38f9b8000 unroll first iter of checked_ilog loop to save one multiplication dbd03d4517e Stabilize `BinaryHeap::as_slice` 08f761fb838 DOC: Add FFI example for slice::from_raw_parts() 30c876cbfb4 Be stricter with `copy_file_range` probe results fe052461e10 Less syscalls for the `copy_file_range` probe 511fe47e8ea Stabilize `LazyCell` and `LazyLock` (`lazy_cell`) git-subtree-dir: library git-subtree-split: a2cf63619d70c12ce2cbd088982b6eea18777312
Update Rust toolchain from nightly-2024-07-12 to nightly-2024-07-13 without any other source changes. This is an automatically generated pull request. If any of the CI checks fail, manual intervention is required. In such a case, review the changes at https://github.com/rust-lang/rust from rust-lang@5315cbe up to rust-lang@c6727fc. The log for this commit range is: rust-lang@c6727fc9b5 Auto merge of rust-lang#123351 - beetrees:x86-ret-snan-rust, r=nikic,workingjubilee rust-lang@62c068feea Auto merge of rust-lang#127636 - nnethercote:fix-Parser-look_ahead, r=oli-obk rust-lang@5d76a13bbe Auto merge of rust-lang#127653 - matthiaskrgr:rollup-72bqgvp, r=matthiaskrgr rust-lang@f11c2c8e95 Rollup merge of rust-lang#127648 - Kobzol:ci-lower-timeout, r=pietroalbini rust-lang@526da2366a Rollup merge of rust-lang#127627 - lcnr:rustc_search_graph, r=compiler-errors rust-lang@f5fa6fb602 Rollup merge of rust-lang#127613 - nikic:riscv-update, r=cuviper rust-lang@b4f002d2e5 Rollup merge of rust-lang#127552 - onur-ozkan:unnecessary-git-usage, r=Kobzol rust-lang@8ceb4e49ff Rollup merge of rust-lang#127433 - dtolnay:conststrlen, r=workingjubilee rust-lang@f9b3e8b387 Rollup merge of rust-lang#126827 - the8472:pidfd-spawn, r=workingjubilee rust-lang@18152d72a4 Rollup merge of rust-lang#126639 - sayantn:amx, r=Amanieu rust-lang@65ea92d4a1 Rollup merge of rust-lang#124980 - zachs18:rc-allocator, r=Amanieu rust-lang@05eac57ef6 Auto merge of rust-lang#127479 - Urgau:rustc-stable-hash, r=michaelwoerister rust-lang@15f770b143 enable fuzzing of `SearchGraph` rust-lang@cae9d480bf Adjust tests for x86 "Rust" ABI changes rust-lang@3f4b9dd463 Lower timeout of CI jobs to 4 hours rust-lang@7f1518bddd Add instability attribute on private const_strlen function rust-lang@b286722878 Auto merge of rust-lang#127635 - matthiaskrgr:rollup-foopajr, r=matthiaskrgr rust-lang@100f3fd133 Add a new special case to `Parser::look_ahead`. rust-lang@ebe1305b1e Remove the bogus special case from `Parser::look_ahead`. rust-lang@dad95578b0 Add unit tests for `Parser::look_ahead`. rust-lang@ec05c4ea3f Add the feature gate and target-features rust-lang@c2b7842555 Rollup merge of rust-lang#127625 - SkiFire13:revert-comment-deletion, r=workingjubilee rust-lang@ca576eae4e Rollup merge of rust-lang#127622 - compiler-errors:builtin-internal, r=lqd rust-lang@fe564c10ab Rollup merge of rust-lang#127607 - Zalathar:normalize-hint, r=wesleywiser rust-lang@83d1a1b252 Rollup merge of rust-lang#127596 - tesuji:help-unwrap-or, r=compiler-errors rust-lang@1e7ad4c3ed Rollup merge of rust-lang#127422 - greaka:master, r=workingjubilee rust-lang@58fe37f2c3 Rollup merge of rust-lang#127164 - Nadrieril:clean-lowering-loop, r=matthewjasper rust-lang@4a31a6c32a Auto merge of rust-lang#127382 - estebank:const-let, r=compiler-errors rust-lang@5e311f933d Auto merge of rust-lang#127614 - matthiaskrgr:rollup-8geziwi, r=matthiaskrgr rust-lang@a776e5f922 Add doc for deconstruct_option_or_result rust-lang@872d7b82e1 Add suggestion for `Option<&Vec<T>> -> Option<&[T]` rust-lang@d9170dc666 Add regression test for issue 127545 rust-lang@4df75140dd Fix aarch64 test rust-lang@cbe75486f7 Account for `let foo = expr`; to suggest `const foo: Ty = expr;` rust-lang@b56dc8ee90 Use verbose style when suggesting changing `const` with `let` rust-lang@d9021791eb Revert accidental comment deletion rust-lang@b77d3ef7c4 Mark builtin syntax as internal rust-lang@fa3ce50f0b Rollup merge of rust-lang#127605 - nikic:remove-extern-wasm, r=oli-obk rust-lang@d433f176ef Rollup merge of rust-lang#127601 - trevyn:issue-127600, r=compiler-errors rust-lang@47ab86653e Rollup merge of rust-lang#127599 - tgross35:lazy_cell_consume-rename, r=workingjubilee rust-lang@a10b4d1463 Rollup merge of rust-lang#127598 - weiznich:diagnostic_do_not_recommend_also_skips_help, r=compiler-errors rust-lang@73c500b3a7 Rollup merge of rust-lang#127591 - compiler-errors:label-after-primary, r=lcnr rust-lang@380c78741e Rollup merge of rust-lang#127588 - uweigand:s390x-f16-doctests, r=tgross35 rust-lang@6fd955549a Rollup merge of rust-lang#127572 - tbu-:pr_debug_event_nonpacked, r=jhpratt rust-lang@8de487fdbd Rollup merge of rust-lang#124599 - estebank:issue-41708, r=wesleywiser rust-lang@55256c5a18 Update dist-riscv64-linux to binutils 2.40 rust-lang@977439d9b8 Use uplifted `rustc-stable-hash` crate in `rustc_data_structures` rust-lang@f56b2074c6 solve -> solve/mod rust-lang@08a2992d6b compiletest: Better error message for bad `normalize-*` headers rust-lang@8a50bcbdce Remove extern "wasm" ABI rust-lang@a01f49e7f3 check is_ident before parse_ident rust-lang@ab56fe2053 Rename `lazy_cell_consume` to `lazy_cell_into_inner` rust-lang@27d5db166e Allows `#[diagnostic::do_not_recommend]` to supress trait impls in suggestions as well rust-lang@12ae282987 Fix diagnostic and add a test for it rust-lang@df72e478b0 Make sure that labels are defined after the primary span in diagnostics rust-lang@0065763950 core: Limit remaining f16 doctests to x86_64 linux rust-lang@45ad522e87 Don't mark `DEBUG_EVENT` struct as `repr(packed)` rust-lang@0134bd2e67 remove unnecessary `git` usages rust-lang@42772e98e0 Address review comments rust-lang@3e030b38ef Return the `otherwise_block` instead of passing it as argument rust-lang@fc40247c6b Factor out the "process remaining candidates" cases rust-lang@8a222ffd6b Don't try to save an extra block rust-lang@c5062f7318 Move or-pattern expansion inside the main part of the algorithm rust-lang@bff4d213fa Factor out the special handling of or-patterns rust-lang@5bf50e66f9 Move a function rust-lang@53d3e6217b Stabilize const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes) rust-lang@585ca16e0b as_simd: fix comment to be in line with 507583a (rust-lang#121201) rust-lang@0f643c449a Ensure tests don't fail on i586 in CI rust-lang@ec0c755704 Check that we get somewhat sane PIDs when spawning with pidfds rust-lang@3e4e31b7bf more fine-grained feature-detection for pidfd spawning rust-lang@0ce361938e document safety properties of the internal Process::new constructor rust-lang@6687a3f7da use pidfd_spawn for faster process creation when pidfds are requested rust-lang@5c46acac04 document the cvt methods rust-lang@0e1c832dbd Update `platform-support.md` to reflect improvements in returning floats on 32-bit x86 rust-lang@952becc0bd Ensure floats are returned losslessly by the Rust ABI on 32-bit x86 rust-lang@a1ad6346d6 Add fn allocator method to rc/sync::Weak. Relax Rc<T>/Arc<T>::allocator to allow unsized T. rust-lang@2df4f7dd8c Suggest borrowing on fn argument that is `impl AsRef` Co-authored-by: celinval <[email protected]>
…k-nonnull-alignoffset-update, r=Amanieu Update NonNull::align_offset quarantees This PR proposes to update [`NonNull::align_offset`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.align_offset) guarantees, which should to be matched with [`ptr::align_offset`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.align_offset-1) (as `NonNull::align_offset` delegates to `ptr::align_offset`). [PR rust-lang#121201](rust-lang#121201) updated only `ptr::align_offset` docs.
…k-nonnull-alignoffset-update, r=Amanieu Update NonNull::align_offset quarantees This PR proposes to update [`NonNull::align_offset`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.align_offset) guarantees, which should to be matched with [`ptr::align_offset`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.align_offset-1) (as `NonNull::align_offset` delegates to `ptr::align_offset`). [PR rust-lang#121201](rust-lang#121201) updated only `ptr::align_offset` docs.
Rollup merge of rust-lang#128306 - WiktorPrzetacznik:WiktorPrzetacznik-nonnull-alignoffset-update, r=Amanieu Update NonNull::align_offset quarantees This PR proposes to update [`NonNull::align_offset`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.align_offset) guarantees, which should to be matched with [`ptr::align_offset`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.align_offset-1) (as `NonNull::align_offset` delegates to `ptr::align_offset`). [PR rust-lang#121201](rust-lang#121201) updated only `ptr::align_offset` docs.
This is based on the pkgsrc-wip rust180 package, retaining the main pkgsrc changes as best as I could. Pkgsrc changes: * Adapt checksums and patches. * Make this work again on big-endian aarch64 (at least on NetBSD). * Make the choice of GCC = 12 work for sparc64 by testing options after options.mk is included (which is required...). Makes this work on NetBSD/sparc64 10.0 again. Upstream chnages: Version 1.80.1 (2024-08-08) =========================== - [Fix miscompilation in the jump threading MIR optimization when comparing floats] (rust-lang/rust#128271) - [Revert changes to the `dead_code` lint from 1.80.0] (rust-lang/rust#128618) Version 1.80.0 (2024-07-25) ========================== Language -------- - [Document maximum allocation size] (rust-lang/rust#116675) - [Allow zero-byte offsets and ZST read/writes on arbitrary pointers] (rust-lang/rust#117329) - [Support C23's variadics without a named parameter] (rust-lang/rust#124048) - [Stabilize `exclusive_range_pattern` feature] (rust-lang/rust#124459) - [Guarantee layout and ABI of `Result` in some scenarios] (rust-lang/rust#124870) Compiler -------- - [Update cc crate to v1.0.97 allowing additional spectre mitigations on MSVC targets] (rust-lang/rust#124892) - [Allow field reordering on types marked `repr(packed(1))`] (rust-lang/rust#125360) - [Add a lint against never type fallback affecting unsafe code] (rust-lang/rust#123939) - [Disallow cast with trailing braced macro in let-else] (rust-lang/rust#125049) - [Expand `for_loops_over_fallibles` lint to lint on fallibles behind references.] (rust-lang/rust#125156) - [self-contained linker: retry linking without `-fuse-ld=lld` on CCs that don't support it] (rust-lang/rust#125417) - [Do not parse CVarArgs (`...`) as a type in trait bounds] (rust-lang/rust#125863) - Improvements to LLDB formatting [#124458] (rust-lang/rust#124458) [#124500] (rust-lang/rust#124500) - [For the wasm32-wasip2 target default to PIC and do not use `-fuse-ld=lld`] (rust-lang/rust#124858) - [Add x86_64-unknown-linux-none as a tier 3 target] (rust-lang/rust#125023) - [Lint on `foo.into_iter()` resolving to `&Box<[T]>: IntoIterator`] (rust-lang/rust#124097) Libraries --------- - [Add `size_of` and `size_of_val` and `align_of` and `align_of_val` to the prelude] (rust-lang/rust#123168) - [Abort a process when FD ownership is violated] (rust-lang/rust#124210) - [io::Write::write_fmt: panic if the formatter fails when the stream does not fail] (rust-lang/rust#125012) - [Panic if `PathBuf::set_extension` would add a path separator] (rust-lang/rust#125070) - [Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods] (rust-lang/rust#121571) - [Update `c_char` on AIX to use the correct type] (rust-lang/rust#122986) - [`offset_of!` no longer returns a temporary] (rust-lang/rust#124484) - [Handle sigma in `str.to_lowercase` correctly] (rust-lang/rust#124773) - [Raise `DEFAULT_MIN_STACK_SIZE` to at least 64KiB] (rust-lang/rust#126059) Stabilized APIs --------------- - [`impl Default for Rc<CStr>`] (https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3CCStr%3E) - [`impl Default for Rc<str>`] (https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3Cstr%3E) - [`impl Default for Rc<[T]>`] (https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3C%5BT%5D%3E) - [`impl Default for Arc<str>`] (https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3Cstr%3E) - [`impl Default for Arc<CStr>`] (https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3CCStr%3E) - [`impl Default for Arc<[T]>`] (https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3C%5BT%5D%3E) - [`impl IntoIterator for Box<[T]>`] (https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-IntoIterator-for-Box%3C%5BI%5D,+A%3E) - [`impl FromIterator<String> for Box<str>`] (https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3CString%3E-for-Box%3Cstr%3E) - [`impl FromIterator<char> for Box<str>`] (https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3Cchar%3E-for-Box%3Cstr%3E) - [`LazyCell`] (https://doc.rust-lang.org/beta/core/cell/struct.LazyCell.html) - [`LazyLock`] (https://doc.rust-lang.org/beta/std/sync/struct.LazyLock.html) - [`Duration::div_duration_f32`] (https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f32) - [`Duration::div_duration_f64`] (https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f64) - [`Option::take_if`] (https://doc.rust-lang.org/beta/std/option/enum.Option.html#method.take_if) - [`Seek::seek_relative`] (https://doc.rust-lang.org/beta/std/io/trait.Seek.html#method.seek_relative) - [`BinaryHeap::as_slice`] (https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.as_slice) - [`NonNull::offset`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset) - [`NonNull::byte_offset`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset) - [`NonNull::add`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.add) - [`NonNull::byte_add`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_add) - [`NonNull::sub`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.sub) - [`NonNull::byte_sub`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_sub) - [`NonNull::offset_from`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset_from) - [`NonNull::byte_offset_from`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset_from) - [`NonNull::read`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read) - [`NonNull::read_volatile`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_volatile) - [`NonNull::read_unaligned`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_unaligned) - [`NonNull::write`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write) - [`NonNull::write_volatile`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_volatile) - [`NonNull::write_unaligned`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_unaligned) - [`NonNull::write_bytes`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_bytes) - [`NonNull::copy_to`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to) - [`NonNull::copy_to_nonoverlapping`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to_nonoverlapping) - [`NonNull::copy_from`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from) - [`NonNull::copy_from_nonoverlapping`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from_nonoverlapping) - [`NonNull::replace`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.replace) - [`NonNull::swap`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.swap) - [`NonNull::drop_in_place`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.drop_in_place) - [`NonNull::align_offset`] (https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.align_offset) - [`<[T]>::split_at_checked`] (https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_checked) - [`<[T]>::split_at_mut_checked`] (https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_mut_checked) - [`str::split_at_checked`] (https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_checked) - [`str::split_at_mut_checked`] (https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_mut_checked) - [`str::trim_ascii`] (https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii) - [`str::trim_ascii_start`] (https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_start) - [`str::trim_ascii_end`] (https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_end) - [`<[u8]>::trim_ascii`] (https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii) - [`<[u8]>::trim_ascii_start`] (https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_start) - [`<[u8]>::trim_ascii_end`] (https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_end) - [`Ipv4Addr::BITS`] (https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#associatedconstant.BITS) - [`Ipv4Addr::to_bits`] (https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.to_bits) - [`Ipv4Addr::from_bits`] (https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.from_bits) - [`Ipv6Addr::BITS`] (https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#associatedconstant.BITS) - [`Ipv6Addr::to_bits`] (https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.to_bits) - [`Ipv6Addr::from_bits`] (https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.from_bits) - [`Vec::<[T; N]>::into_flattened`] (https://doc.rust-lang.org/beta/alloc/vec/struct.Vec.html#method.into_flattened) - [`<[[T; N]]>::as_flattened`] (https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened) - [`<[[T; N]]>::as_flattened_mut`] (https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened_mut) These APIs are now stable in const contexts: - [`<[T]>::last_chunk`] (https://doc.rust-lang.org/beta/core/primitive.slice.html#method.last_chunk) - [`BinaryHeap::new`] (https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.new) Cargo ----- - [Stabilize `-Zcheck-cfg` as always enabled] (rust-lang/cargo#13571) - [Warn, rather than fail publish, if a target is excluded] (rust-lang/cargo#13713) - [Add special `check-cfg` lint config for the `unexpected_cfgs` lint] (rust-lang/cargo#13913) - [Stabilize `cargo update --precise <yanked>`] (rust-lang/cargo#13974) - [Don't change file permissions on `Cargo.toml` when using `cargo add`] (rust-lang/cargo#13898) - [Support using `cargo fix` on IPv6-only networks] (rust-lang/cargo#13907) Rustdoc ----- - [Allow searching for references] (rust-lang/rust#124148) - [Stabilize `custom_code_classes_in_docs` feature] (rust-lang/rust#124577) - [fix: In cross-crate scenarios show enum variants on type aliases of enums] (rust-lang/rust#125300) Compatibility Notes ------------------- - [rustfmt estimates line lengths differently when using non-ascii characters] (rust-lang/rustfmt#6203) - [Type aliases are now handled correctly in orphan check] (rust-lang/rust#117164) - [Allow instructing rustdoc to read from stdin via `-`] (rust-lang/rust#124611) - [`std::env::{set_var, remove_var}` can no longer be converted to safe function pointers and no longer implement the `Fn` family of traits] (rust-lang/rust#124636) - [Warn (or error) when `Self` constructor from outer item is referenced in inner nested item] (rust-lang/rust#124187) - [Turn `indirect_structural_match` and `pointer_structural_match` lints into hard errors] (rust-lang/rust#124661) - [Make `where_clause_object_safety` lint a regular object safety violation] (rust-lang/rust#125380) - [Turn `proc_macro_back_compat` lint into a hard error.] (rust-lang/rust#125596) - [Detect unused structs even when implementing private traits] (rust-lang/rust#122382) - [`std::sync::ReentrantLockGuard<T>` is no longer `Sync` if `T: !Sync`] (rust-lang/rust#125527) which means [`std::io::StdoutLock` and `std::io::StderrLock` are no longer Sync] (rust-lang/rust#127340) 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. - Misc improvements to size of generated html by rustdoc e.g. [#124738] (rust-lang/rust#124738) and [#123734] (rust-lang/rust#123734) - [MSVC targets no longer depend on libc] (rust-lang/rust#124050) Version 1.79.0 (2024-06-13) ========================== Language -------- - [Stabilize inline `const {}` expressions.] (rust-lang/rust#104087) - [Prevent opaque types being instantiated twice with different regions within the same function.] (rust-lang/rust#116935) - [Stabilize WebAssembly target features that are in phase 4 and 5.] (rust-lang/rust#117457) - [Add the `redundant_lifetimes` lint to detect lifetimes which are semantically redundant.] (rust-lang/rust#118391) - [Stabilize the `unnameable_types` lint for public types that can't be named.] (rust-lang/rust#120144) - [Enable debuginfo in macros, and stabilize `-C collapse-macro-debuginfo` and `#[collapse_debuginfo]`.] (rust-lang/rust#120845) - [Propagate temporary lifetime extension into `if` and `match` expressions.] (rust-lang/rust#121346) - [Restrict promotion of `const fn` calls.] (rust-lang/rust#121557) - [Warn against refining impls of crate-private traits with `refining_impl_trait` lint.] (rust-lang/rust#121720) - [Stabilize associated type bounds (RFC 2289).] (rust-lang/rust#122055) - [Stabilize importing `main` from other modules or crates.] (rust-lang/rust#122060) - [Check return types of function types for well-formedness] (rust-lang/rust#115538) - [Rework `impl Trait` lifetime inference] (rust-lang/rust#116891) - [Change inductive trait solver cycles to be ambiguous] (rust-lang/rust#122791) Compiler -------- - [Define `-C strip` to only affect binaries, not artifacts like `.pdb`.] (rust-lang/rust#115120) - [Stabilize `-Crelro-level` for controlling runtime link hardening.] (rust-lang/rust#121694) - [Stabilize checking of `cfg` names and values at compile-time with `--check-cfg`.] (rust-lang/rust#123501) *Note that this only stabilizes the compiler part, the Cargo part is still unstable in this release.* - [Add `aarch64-apple-visionos` and `aarch64-apple-visionos-sim` tier 3 targets.] (rust-lang/rust#121419) - [Add `riscv32ima-unknown-none-elf` tier 3 target.] (rust-lang/rust#122696) - [Promote several Windows targets to tier 2] (rust-lang/rust#121712): `aarch64-pc-windows-gnullvm`, `i686-pc-windows-gnullvm`, and `x86_64-pc-windows-gnullvm`. Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. Libraries --------- - [Implement `FromIterator` for `(impl Default + Extend, impl Default + Extend)`.] (rust-lang/rust#107462) - [Implement `{Div,Rem}Assign<NonZero<X>>` on `X`.] (rust-lang/rust#121952) - [Document overrides of `clone_from()` in core/std.] (rust-lang/rust#122201) - [Link MSVC default lib in core.] (rust-lang/rust#122268) - [Caution against using `transmute` between pointers and integers.] (rust-lang/rust#122379) - [Enable frame pointers for the standard library.] (rust-lang/rust#122646) Stabilized APIs --------------- - [`{integer}::unchecked_add`] (https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_add) - [`{integer}::unchecked_mul`] (https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_mul) - [`{integer}::unchecked_sub`] (https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_sub) - [`<[T]>::split_at_unchecked`] (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_unchecked) - [`<[T]>::split_at_mut_unchecked`] (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked) - [`<[u8]>::utf8_chunks`] (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.utf8_chunks) - [`str::Utf8Chunks`] (https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunks.html) - [`str::Utf8Chunk`] (https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunk.html) - [`<*const T>::is_aligned`] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned) - [`<*mut T>::is_aligned`] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned-1) - [`NonNull::is_aligned`] (https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_aligned) - [`<*const [T]>::len`] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len) - [`<*mut [T]>::len`] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len-1) - [`<*const [T]>::is_empty`] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty) - [`<*mut [T]>::is_empty`] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty-1) - [`NonNull::<[T]>::is_empty`] (https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_empty) - [`CStr::count_bytes`] (https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes) - [`io::Error::downcast`] (https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.downcast) - [`num::NonZero<T>`] (https://doc.rust-lang.org/stable/core/num/struct.NonZero.html) - [`path::absolute`] (https://doc.rust-lang.org/stable/std/path/fn.absolute.html) - [`proc_macro::Literal::byte_character`] (https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.byte_character) - [`proc_macro::Literal::c_string`] (https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.c_string) These APIs are now stable in const contexts: - [`Atomic*::into_inner`] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.into_inner) - [`io::Cursor::new`] (https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.new) - [`io::Cursor::get_ref`] (https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_ref) - [`io::Cursor::position`] (https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.position) - [`io::empty`] (https://doc.rust-lang.org/stable/std/io/fn.empty.html) - [`io::repeat`] (https://doc.rust-lang.org/stable/std/io/fn.repeat.html) - [`io::sink`] (https://doc.rust-lang.org/stable/std/io/fn.sink.html) - [`panic::Location::caller`] (https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.caller) - [`panic::Location::file`] (https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file) - [`panic::Location::line`] (https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.line) - [`panic::Location::column`] (https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.column) Cargo ----- - [Prevent dashes in `lib.name`, always normalizing to `_`.] (rust-lang/cargo#12783) - [Stabilize MSRV-aware version requirement selection in `cargo add`.] (rust-lang/cargo#13608) - [Switch to using `gitoxide` by default for listing files.] (rust-lang/cargo#13696) Rustdoc ----- - [Always display stability version even if it's the same as the containing item.] (rust-lang/rust#118441) - [Show a single search result for items with multiple paths.] (rust-lang/rust#119912) - [Support typing `/` in docs to begin a search.] (rust-lang/rust#123355) Misc ---- Compatibility Notes ------------------- - [Update the minimum external LLVM to 17.] (rust-lang/rust#122649) - [`RustcEncodable` and `RustcDecodable` are soft-destabilized, to be removed from the prelude in next edition.] (rust-lang/rust#116016) - [The `wasm_c_abi` future-incompatibility lint will warn about use of the non-spec-compliant C ABI.] (rust-lang/rust#117918) Use `wasm-bindgen v0.2.88` to generate forward-compatible bindings. - [Check return types of function types for well-formedness] (rust-lang/rust#115538) Version 1.78.0 (2024-05-02) =========================== Language -------- - [Stabilize `#[cfg(target_abi = ...)]`] (rust-lang/rust#119590) - [Stabilize the `#[diagnostic]` namespace and `#[diagnostic::on_unimplemented]` attribute] (rust-lang/rust#119888) - [Make async-fn-in-trait implementable with concrete signatures] (rust-lang/rust#120103) - [Make matching on NaN a hard error, and remove the rest of `illegal_floating_point_literal_pattern`] (rust-lang/rust#116284) - [static mut: allow mutable reference to arbitrary types, not just slices and arrays] (rust-lang/rust#117614) - [Extend `invalid_reference_casting` to include references casting to bigger memory layout] (rust-lang/rust#118983) - [Add `non_contiguous_range_endpoints` lint for singleton gaps after exclusive ranges] (rust-lang/rust#118879) - [Add `wasm_c_abi` lint for use of older wasm-bindgen versions] (rust-lang/rust#117918) This lint currently only works when using Cargo. - [Update `indirect_structural_match` and `pointer_structural_match` lints to match RFC] (rust-lang/rust#120423) - [Make non-`PartialEq`-typed consts as patterns a hard error] (rust-lang/rust#120805) - [Split `refining_impl_trait` lint into `_reachable`, `_internal` variants] (rust-lang/rust#121720) - [Remove unnecessary type inference when using associated types inside of higher ranked `where`-bounds] (rust-lang/rust#119849) - [Weaken eager detection of cyclic types during type inference] (rust-lang/rust#119989) - [`trait Trait: Auto {}`: allow upcasting from `dyn Trait` to `dyn Auto`] (rust-lang/rust#119338) Compiler -------- - [Made `INVALID_DOC_ATTRIBUTES` lint deny by default] (rust-lang/rust#111505) - [Increase accuracy of redundant `use` checking] (rust-lang/rust#117772) - [Suggest moving definition if non-found macro_rules! is defined later] (rust-lang/rust#121130) - [Lower transmutes from int to pointer type as gep on null] (rust-lang/rust#121282) Target changes: - [Windows tier 1 targets now require at least Windows 10] (rust-lang/rust#115141) - [Enable CMPXCHG16B, SSE3, SAHF/LAHF and 128-bit Atomics in tier 1 Windows] (rust-lang/rust#120820) - [Add `wasm32-wasip1` tier 2 (without host tools) target] (rust-lang/rust#120468) - [Add `wasm32-wasip2` tier 3 target] (rust-lang/rust#119616) - [Rename `wasm32-wasi-preview1-threads` to `wasm32-wasip1-threads`] (rust-lang/rust#122170) - [Add `arm64ec-pc-windows-msvc` tier 3 target] (rust-lang/rust#119199) - [Add `armv8r-none-eabihf` tier 3 target for the Cortex-R52] (rust-lang/rust#110482) - [Add `loongarch64-unknown-linux-musl` tier 3 target] (rust-lang/rust#121832) Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. Libraries --------- - [Bump Unicode to version 15.1.0, regenerate tables] (rust-lang/rust#120777) - [Make align_offset, align_to well-behaved in all cases] (rust-lang/rust#121201) - [PartialEq, PartialOrd: document expectations for transitive chains] (rust-lang/rust#115386) - [Optimize away poison guards when std is built with panic=abort] (rust-lang/rust#100603) - [Replace pthread `RwLock` with custom implementation] (rust-lang/rust#110211) - [Implement unwind safety for Condvar on all platforms] (rust-lang/rust#121768) - [Add ASCII fast-path for `char::is_grapheme_extended`] (rust-lang/rust#121138) Stabilized APIs --------------- - [`impl Read for &Stdin`] (https://doc.rust-lang.org/stable/std/io/struct.Stdin.html#impl-Read-for-%26Stdin) - [Accept non `'static` lifetimes for several `std::error::Error` related implementations] (rust-lang/rust#113833) - [Make `impl<Fd: AsFd>` impl take `?Sized`] (rust-lang/rust#114655) - [`impl From<TryReserveError> for io::Error`] (https://doc.rust-lang.org/stable/std/io/struct.Error.html#impl-From%3CTryReserveError%3E-for-Error) These APIs are now stable in const contexts: - [`Barrier::new()`] (https://doc.rust-lang.org/stable/std/sync/struct.Barrier.html#method.new) Cargo ----- - [Stabilize lockfile v4](rust-lang/cargo#12852) - [Respect `rust-version` when generating lockfile] (rust-lang/cargo#12861) - [Control `--charset` via auto-detecting config value] (rust-lang/cargo#13337) - [Support `target.<triple>.rustdocflags` officially] (rust-lang/cargo#13197) - [Stabilize global cache data tracking] (rust-lang/cargo#13492) Misc ---- - [rustdoc: add `--test-builder-wrapper` arg to support wrappers such as RUSTC_WRAPPER when building doctests] (rust-lang/rust#114651) Compatibility Notes ------------------- - [Many unsafe precondition checks now run for user code with debug assertions enabled] (rust-lang/rust#120594) This change helps users catch undefined behavior in their code, though the details of how much is checked are generally not stable. - [riscv only supports split_debuginfo=off for now] (rust-lang/rust#120518) - [Consistently check bounds on hidden types of `impl Trait`] (rust-lang/rust#121679) - [Change equality of higher ranked types to not rely on subtyping] (rust-lang/rust#118247) - [When called, additionally check bounds on normalized function return type] (rust-lang/rust#118882) - [Expand coverage for `arithmetic_overflow` lint] (rust-lang/rust#119432) 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. - [Update to LLVM 18](rust-lang/rust#120055) - [Build `rustc` with 1CGU on `x86_64-pc-windows-msvc`] (rust-lang/rust#112267) - [Build `rustc` with 1CGU on `x86_64-apple-darwin`] (rust-lang/rust#112268) - [Introduce `run-make` V2 infrastructure, a `run_make_support` library and port over 2 tests as example] (rust-lang/rust#113026) - [Windows: Implement condvar, mutex and rwlock using futex] (rust-lang/rust#121956) Version 1.77.0 (2024-03-21) ========================== - [Reveal opaque types within the defining body for exhaustiveness checking.] (rust-lang/rust#116821) - [Stabilize C-string literals.] (rust-lang/rust#117472) - [Stabilize THIR unsafeck.] (rust-lang/rust#117673) - [Add lint `static_mut_refs` to warn on references to mutable statics.] (rust-lang/rust#117556) - [Support async recursive calls (as long as they have indirection).] (rust-lang/rust#117703) - [Undeprecate lint `unstable_features` and make use of it in the compiler.] (rust-lang/rust#118639) - [Make inductive cycles in coherence ambiguous always.] (rust-lang/rust#118649) - [Get rid of type-driven traversal in const-eval interning] (rust-lang/rust#119044), only as a [future compatiblity lint] (rust-lang/rust#122204) for now. - [Deny braced macro invocations in let-else.] (rust-lang/rust#119062) Compiler -------- - [Include lint `soft_unstable` in future breakage reports.] (rust-lang/rust#116274) - [Make `i128` and `u128` 16-byte aligned on x86-based targets.] (rust-lang/rust#116672) - [Use `--verbose` in diagnostic output.] (rust-lang/rust#119129) - [Improve spacing between printed tokens.] (rust-lang/rust#120227) - [Merge the `unused_tuple_struct_fields` lint into `dead_code`.] (rust-lang/rust#118297) - [Error on incorrect implied bounds in well-formedness check] (rust-lang/rust#118553), with a temporary exception for Bevy. - [Fix coverage instrumentation/reports for non-ASCII source code.] (rust-lang/rust#119033) - [Fix `fn`/`const` items implied bounds and well-formedness check.] (rust-lang/rust#120019) - [Promote `riscv32{im|imafc}-unknown-none-elf` targets to tier 2.] (rust-lang/rust#118704) - Add several new tier 3 targets: - [`aarch64-unknown-illumos`] (rust-lang/rust#112936) - [`hexagon-unknown-none-elf`] (rust-lang/rust#117601) - [`riscv32imafc-esp-espidf`] (rust-lang/rust#119738) - [`riscv32im-risc0-zkvm-elf`] (rust-lang/rust#117958) Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. Libraries --------- - [Implement `From<&[T; N]>` for `Cow<[T]>`.] (rust-lang/rust#113489) - [Remove special-case handling of `vec.split_off (0)`.](rust-lang/rust#119917) Stabilized APIs --------------- - [`array::each_ref`] (https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_ref) - [`array::each_mut`] (https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_mut) - [`core::net`] (https://doc.rust-lang.org/stable/core/net/index.html) - [`f32::round_ties_even`] (https://doc.rust-lang.org/stable/std/primitive.f32.html#method.round_ties_even) - [`f64::round_ties_even`] (https://doc.rust-lang.org/stable/std/primitive.f64.html#method.round_ties_even) - [`mem::offset_of!`] (https://doc.rust-lang.org/stable/std/mem/macro.offset_of.html) - [`slice::first_chunk`] (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first_chunk) - [`slice::first_chunk_mut`] (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first_chunk_mut) - [`slice::split_first_chunk`] (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first_chunk) - [`slice::split_first_chunk_mut`] (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first_chunk_mut) - [`slice::last_chunk`] (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last_chunk) - [`slice::last_chunk_mut`] (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last_chunk_mut) - [`slice::split_last_chunk`] (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last_chunk) - [`slice::split_last_chunk_mut`] (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last_chunk_mut) - [`slice::chunk_by`] (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.chunk_by) - [`slice::chunk_by_mut`] (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.chunk_by_mut) - [`Bound::map`] (https://doc.rust-lang.org/stable/std/ops/enum.Bound.html#method.map) - [`File::create_new`] (https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.create_new) - [`Mutex::clear_poison`] (https://doc.rust-lang.org/stable/std/sync/struct.Mutex.html#method.clear_poison) - [`RwLock::clear_poison`] (https://doc.rust-lang.org/stable/std/sync/struct.RwLock.html#method.clear_poison) Cargo ----- - [Extend the build directive syntax with `cargo::`.] (rust-lang/cargo#12201) - [Stabilize metadata `id` format as `PackageIDSpec`.] (rust-lang/cargo#12914) - [Pull out as `cargo-util-schemas` as a crate.] (rust-lang/cargo#13178) - [Strip all debuginfo when debuginfo is not requested.] (rust-lang/cargo#13257) - [Inherit jobserver from env for all kinds of runners.] (rust-lang/cargo#12776) - [Deprecate rustc plugin support in cargo.] (rust-lang/cargo#13248) Rustdoc ----- - [Allows links in markdown headings.] (rust-lang/rust#117662) - [Search for tuples and unit by type with `()`.] (rust-lang/rust#118194) - [Clean up the source sidebar's hide button.] (rust-lang/rust#119066) - [Prevent JS injection from `localStorage`.] (rust-lang/rust#120250) Misc ---- - [Recommend version-sorting for all sorting in style guide.] (rust-lang/rust#115046) 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. - [Add more weirdness to `weird-exprs.rs`.] (rust-lang/rust#119028)
For a long time, we have allowed
align_offset
to fail to compute a properly aligned offset, andalign_to
to return a smaller-than-maximal "middle slice". This was done to cover the implementation ofalign_offset
in const-eval and Miri. See #62420 for more background. For about the same amount of time, this has caused confusion and surprise, where people didn't realize they have to write their code to be defensive againstalign_offset
failures.Another way to put this is: the specification is effectively non-deterministic, and non-determinism is hard to test for -- in particular if the implementation everyone uses to test always produces the same reliable result, and nobody expects it to be non-deterministic to begin with.
With #117840, Miri has stopped making use of this liberty in the spec; it now always behaves like rustc. That only leaves const-eval as potential motivation for this behavior. I do not think this is sufficient motivation. Currently, none of the relevant functions are stably const:
align_offset
is unstably const,align_to
is not const at all. I propose that if we ever want to make these const-stable, we just accept the fact that they can behave differently at compile-time vs at run-time. This is not the end of the world, and it seems to be much less surprising to programmers than unexpected non-determinism. (Related: rust-lang/rfcs#3352.)@thomcc has repeatedly made it clear that they strongly dislike the non-determinism in align_offset, so I expect they will support this. @oli-obk, what do you think? Also, whom else should we involve? The primary team responsible is clearly libs-api, so I will nominate this for them. However, allowing const-evaluated code to behave different from run-time code is t-lang territory. The thing is, this is not stabilizing anything t-lang-worthy immediately, but it still does make a decision we will be bound to: if we accept this change, then
align_offset
/align_to
can never be called in const fn,So I will nominate for t-lang as well, with the question being: are you okay with accepting either of these outcomes (without committing to which one, just accepting that it has to be one of them)? This closes the door to "have
align_offset
andalign_to
at compile-time and also always have compile-time behavior match run-time behavior".Closes #62420