-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Add support for wasm exception handling to Emscripten target #131830
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
Conversation
rustbot has assigned @compiler-errors. Use |
This comment has been minimized.
This comment has been minimized.
Hm. I feel a little out-of-context here. Could you explain
Is "new" meaning the wasm exception-handling proposal with |
Thanks for the questions. The short answer is these are two different ABIs. Perhaps it would be most accurate to think of
Well the older system has existed for a lot longer and worked with the first version of WebAssembly deployed in browsers. The new exception handling uses native support and has only been universally available in engines since ~March 2022.
We need different IR, different object files, and different linker arguments. But it's transparent to Rust/C++/C code.
Yeah so we need a distinct build of the standard library because the object files are different. The compilation of both
Currently, Pyodide is stuck using the old ABI because Rust only supports the old ABI. If Rust switched to only supporting the new ABI, it would make the transition difficult. |
To make matters worse, the new exception handling support was changed in October of 2023 so there are now two new exception handling variants:
I think there is no difference in the IR the frontend generates between the old new and new new variants, though the lowering pass has distinct code for the two cases, the object file format is different, and so the new variant will require a different setting code generation time. It's a fairly simple transform to adjust an old object file to support the new variant and they plan "to provide a converter tool from the old binary to the new format to facilitate the use of the new instructions without the need for recompilation." So we may end up with three ABIs. |
That is true today but the plan is to make llvm support the new variant natively ASAP. However at the at point I imagine there will be a lowering pass added to binaryen to support the previous version, so you should still only need a single object file format / libc build. |
While its true emscripten supports a lot of different options almost all of them are link-time only settings and don't effect the object file ABI. There are only subset of settings that effect the object format (i.e. that are vaslid at compile time): https://github.com/emscripten-core/emscripten/blob/10cb9d46cdd17e7a96de68137c9649d9a630fbc7/tools/settings.py#L81-L112. Note that WASM_BIGINT is not one of them. |
Are |
Only in the sense that they enable |
In general, " So I would prefer that we not expose, nor even pretend that we wish to offer compatibility with, "tons of different ABIs". We already have quite enough problems with ABI-affecting flags. It does not really take many booleans to be able to count to a million, and a few million untested variants of Rust is not a thing we should be trying to support. Having said that, supporting the new ABI behind an unstable flag that will then be ditched at some point has precedent, especially for wasm targets, see #117919 |
If a While we Just Merged the soundness-fixing change of #131533 we usually do MCPs for Significant Changes To Preexisting Targets, especially ones that require this... shindig. A transition period and involvement of rustc's CLI. They're usually sensible enough that it's a bit of a formality, so don't overthink it, the answers to my questions are more-or-less what you would paste in there, with a bit of additional stitching up to explain why e.g. Pyodide needs a flag for this transition and we don't want to do just a hard cut over. |
Sounds good. Thanks again @workingjubilee for all of your help. I really appreciate it.
Yeah this is why I'm raising this as a concern. It seems clearly out of scope to support all of them. It's important to have a solution to this in mind ahead of time. I would prefer that Rust only supports the 2 configurations I care about and has real test coverage for them, but different projects will standardize on different options. It's a thorny issue coordination problem. It would be nice if Emscripten could formalize specific triples... |
The fact that the ABIs can be linearly sorted by runtime support date is helpful. Instead of 20 different booleans leading to 2^20 different options toggling each independently, there are 21 options when we sort. Then if you only support:
maybe it's good enough. But having the in-between steps available as |
Okay I opened a MCP: |
This does not answer the question: what happens when I link together crates that were compiled with different values for this flag? In particular, what if If the answer is Undefined Behavior, that must at least be very clearly documented as part of the flag docs, and that is a blocker for stabilizing this flag. |
@hoodmane I also have a question regarding the plan outlined in the MCP (I'd prefer to ask this on Zulip but could not find your handle there):
Given that (IIUC) the flag you choose must match the flag used to build the standard library, how is this supposed to work? |
I just signed up for Zulip. Thanks @RalfJung. |
also fine! @bors r+ rollup |
…kingjubilee Add support for wasm exception handling to Emscripten target This is a draft because we need some additional setting for the Emscripten target to select between the old exception handling and the new exception handling. I don't know how to add a setting like that, would appreciate advice from Rust folks. We could maybe choose to use the new exception handling if `Ctarget-feature=+exception-handling` is passed? I tried this but I get errors from llvm so I'm not doing it right.
Rollup of 9 pull requests Successful merges: - rust-lang#131830 (Add support for wasm exception handling to Emscripten target) - rust-lang#132345 (Improve diagnostics for `HostEffectPredicate` in the new solver) - rust-lang#134568 (Release notes for 1.84.0) - rust-lang#134744 (Don't ice on bad transmute in typeck in new solver) - rust-lang#135090 (Suggest to replace tuple constructor through projection) - rust-lang#135116 (rustdoc: Fix mismatched capitalization in sidebar) - rust-lang#135126 (mark deprecated option as deprecated in rustc_session to remove copypasta and small refactor) - rust-lang#135139 ([generic_assert] Constify methods used by the formatting system) - rust-lang#135170 (Update triagebot.toml: celinval vacation is over) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#131830 - hoodmane:emscripten-wasm-eh, r=workingjubilee Add support for wasm exception handling to Emscripten target This is a draft because we need some additional setting for the Emscripten target to select between the old exception handling and the new exception handling. I don't know how to add a setting like that, would appreciate advice from Rust folks. We could maybe choose to use the new exception handling if `Ctarget-feature=+exception-handling` is passed? I tried this but I get errors from llvm so I'm not doing it right.
There seems to be a problem that if you try to build a crate with
|
I see emscripten mentioned in panic_abort so probably that's related. |
huh, weird. |
There seems to be a problem with |
Seems to be related to this issue: |
If we build the standard library with wasm-eh then we need to link with `-fwasm-exceptions` even if we compile with `panic=abort` Without this change, linking a `panic=abort` crate fails with: `undefined symbol: __cpp_exception`. Followup to rust-lang#131830.
…ingjubilee Fix emscripten-wasm-eh with unwind=abort If we build the standard library with wasm-eh then we need to link with `-fwasm-exceptions` even if we compile with `panic=abort`. Without this change, linking a `panic=abort` crate fails with: `undefined symbol: __cpp_exception`. Followup to rust-lang#131830. r? workingjubilee
Rollup merge of rust-lang#135450 - hoodmane:wasm-eh-abort-fix, r=workingjubilee Fix emscripten-wasm-eh with unwind=abort If we build the standard library with wasm-eh then we need to link with `-fwasm-exceptions` even if we compile with `panic=abort`. Without this change, linking a `panic=abort` crate fails with: `undefined symbol: __cpp_exception`. Followup to rust-lang#131830. r? workingjubilee
b102eb97611 Rollup merge of #135003 - RalfJung:deprecate-allowed-through-unstable, r=davidtwco 09ccac89813 Rollup merge of #132654 - joboet:lazy_main, r=ChrisDenton 9a5f11b6bdc Auto merge of #135525 - jhpratt:rollup-4gu2wpm, r=jhpratt 808a28bb2e5 Rollup merge of #134678 - zachs18:offset-ptr-update, r=tgross35 038b55923da Rollup merge of #134338 - tgross35:overflowing-c-safe-ret, r=bjorn3,antoyo afb7906d983 Rollup merge of #134143 - nyurik:err-nul, r=dtolnay 09f7f735638 intrinsics: deprecate calling them via the unstable std::intrinsics path b1bab8efb30 Update ReadDir::next in std::sys::pal::unix::fs to use `&raw const (*ptr).field` instead of `ptr.offset(...).cast()`. 6b3eb0e11bc Update compiler-builtins to 0.1.143 c26fde2487d Rollup merge of #135423 - compiler-errors:enforce-const-trait-syntactical, r=oli-obk,RalfJung d4e61054fa0 Enforce syntactical stability of const traits in HIR 8cba3108c65 Update compiler-builtins to 0.1.141 72304171451 add comments explaining main thread identification de1528ca1d5 std: lazily allocate the main thread handle 7d65632251e Revert "Remove the Arc rt::init allocation for thread info" 1938ccffee3 Auto merge of #135473 - matthiaskrgr:rollup-ksnst4l, r=matthiaskrgr e57af4cc513 Rollup merge of #135381 - cod10129:vec-splice-doc, r=tgross35 4b1f813eb19 Auto merge of #135359 - RalfJung:lang-start-unwind, r=joboet 3a1522edb09 Auto merge of #135465 - jhpratt:rollup-7p93bct, r=jhpratt d68853badd5 Rollup merge of #135393 - Ayush1325:uefi-helper-path, r=thomcc 2583e5e939e Add another `Vec::splice` example e53c5c9c5db uefi: helpers: Introduce OwnedDevicePath f17b1628cec Rollup merge of #135405 - Ayush1325:path-is-absolute, r=tgross35 41ac367ffc7 path: Move is_absolute check to sys::path 44a9def9f39 Auto merge of #135420 - GuillaumeGomez:rollup-93vepka, r=GuillaumeGomez 242154d7a56 Auto merge of #135384 - saethlin:inline-copy-from-slice, r=joboet d76bc765c20 Update the explanation for why we use box_new in vec! a8314e3425d Auto merge of #135402 - matthiaskrgr:rollup-cz7hs13, r=matthiaskrgr 736f71506f1 Rollup merge of #135379 - steffahn:uniquerc-invariant, r=Mark-Simulacrum f1fd86b54fa Add inherent versions of MaybeUninit methods for slices 50cffd12adb Add #[inline] to copy_from_slice 221253c726d Auto merge of #135360 - RalfJung:structural-partial-eq, r=compiler-errors 8853a8d51d2 Make UniqueRc invariant for soundness 5c997f2acdc avoid nesting the user-defined main so deeply on the stack 1f09d97cbf0 use a single large catch_unwind in lang_start 3093827de07 update and clarify StructuralPartialEq docs e2f8a108b9a Rename `pos` to `position` c6dff32f287 Convert `struct FromBytesWithNulError` into enum e47fc56aa4a Rollup merge of #135347 - samueltardieu:push-qvyxtxsqyxyr, r=jhpratt d8923fc714a Rollup merge of #135324 - Ayush1325:uefi-fs-unsupported, r=joboet 9709d9bad5d Rollup merge of #135236 - scottmcm:more-mcp807-library-updates, r=ChrisDenton 849afc40e34 Improve the safety documentation on new_unchecked 2add857ca03 Use `NonNull::without_provenance` within the standard library 2764b7e14ab alloc: remove unsound `IsZero` for raw pointers c577821efe2 Rollup merge of #134693 - SpriteOvO:proc-macro-use-to-tokens-in-quote, r=tgross35 7dbc3bcab16 Rollup merge of #132607 - YohDeadfall:pthread-name-fn-with-result, r=tgross35 ab71837c330 Update a bunch of library types for MCP807 4052574937d Initial fs module for uefi 946c19e04cb Rollup merge of #134908 - madsmtm:ptr-from_ref-docs, r=ibraheemdev 01372432cbb Rollup merge of #134619 - hkBst:patch-7, r=jhpratt c22148b767f Fix `proc_macro::quote!` for raw ident c421c1a946a Append `TokenTree` with `ToTokens` in `proc_macro::quote!` c283b86cc76 Used pthread name functions returning result for FreeBSD and DragonFly 668cb10cba5 Auto merge of #135268 - pietroalbini:pa-bump-stage0, r=Mark-Simulacrum f3f0119335a Rollup merge of #135269 - estebank:unneeded-into, r=compiler-errors d7dd4a6bc58 Rollup merge of #135242 - RalfJung:nonnull-provenance, r=jhpratt a34edcbbb60 Remove some unnecessary `.into()` calls 661c077ae5b fmt 9d29620a31a update cfg(bootstrap) 60fa1562951 update version placeholders c0e33bf31ca add missing provenance APIs on NonNull 830ee4bb4d6 Rollup merge of #135176 - kornelski:env-example, r=cuviper 790735e2a6d Rollup merge of #134389 - rust-wasi-web:condvar-no-threads, r=m-ou-se b3fa835baa8 Rollup merge of #133057 - tisonkun:into-chars, r=Amanieu 3987eb22905 Avoid naming variables `str` 7c71ffcfa97 Rollup merge of #135139 - c410-f3r:8-years-rfc, r=jhpratt 6536ec2d9b0 Rollup merge of #131830 - hoodmane:emscripten-wasm-eh, r=workingjubilee e44be94c9eb More compelling env_clear() examples 5db91e58005 Rollup merge of #135153 - crystalstall:master, r=workingjubilee cb8cf0fa5d0 Add support for wasm exception handling to Emscripten target a1da07b21df chore: remove redundant words in comment b2b55f6bdae Rollup merge of #135111 - tgross35:float-doc-aliases, r=Noratrieb 0bd45849186 [generic_assert] Constify methods used by the formatting system c200a189c66 Rollup merge of #135121 - okaneco:const_slice_reverse, r=jhpratt e03872bb30a Mark `slice::reverse` unstably const 0e581b92097 Clarified the documentation on core::iter::from_fn and core::iter::successors 320482169fb Rollup merge of #135110 - matthiaskrgr:adler, r=workingjubilee e7ca1049aa7 Rollup merge of #135104 - the8472:disable-in-place-iter-for-flatten, r=Mark-Simulacrum 8ffc4e84463 Rollup merge of #134996 - bdbai:uwp-support, r=jieyouxu,ChrisDenton fee42729979 Add doc aliases for `libm` and IEEE names f4b33a3e46f library: fix adler{-> 2}.debug 2e05379f866 add regression test for unsound Flatten/FlatMap specialization 9467350f844 do not in-place-iterate over flatmap/flatten 6346a915b55 Rollup merge of #135091 - workingjubilee:backtrace-0.3.75, r=workingjubilee 3ef2891d388 Rollup merge of #135070 - klensy:backtrace-deps, r=workingjubilee 24366d36dce Rollup merge of #135046 - RalfJung:rustc_box_intrinsic, r=compiler-errors 307f559c6c4 Rollup merge of #133964 - joboet:select_unpredictable, r=tgross35 0b2fd26bdc8 Bump backtrace to 0.3.75 3d624d66f11 Rollup merge of #133420 - thesummer:rtems-unwind, r=workingjubilee 6137ccc52ac sync to actual dep verions of backtrace 318269a33f4 turn rustc_box into an intrinsic bd743cec036 Auto merge of #135059 - matthiaskrgr:rollup-0ka9o3h, r=matthiaskrgr e74ac082b32 Rollup merge of #134241 - liigo:patch-16, r=dtolnay 53e41a6a5a7 Auto merge of #134692 - GrigorenkoPV:sync_poision, r=tgross35 366ac34fa96 Fix UWP build cd6c49f49b5 Bump backtrace to rust-lang/backtrace-rs@4d7906b 98ee6c8c68c Auto merge of #122565 - Zoxc:atomic-panic-msg, r=the8472 ffaa2184220 path in detail aa0e6e8bd1a Move some things to `std::sync::poison` and reexport them in `std::sync` b8087f526a0 fix doc for missing Box allocator consistency 40434b2c26c Auto merge of #135005 - matthiaskrgr:rollup-5ubuitt, r=matthiaskrgr 32614550fb9 Rollup merge of #134985 - mgsloan:remove-unnecessary-qualification-in-Ord-trait-docs, r=Noratrieb d5f262cc53a Rename the internal simpler `quote` macro to `minimal_quote` 6c8e14169a9 Auto merge of #134080 - kleisauke:avoid-lfs64-emscripten, r=Noratrieb 33b4b03fe6a Try to write the panic message with a single `write_all` call 8795c3547eb std::fs::DirEntry.metadata(): prefer use of lstat() on Emscripten fb895251bd9 Avoid use of LFS64 symbols on Emscripten ed5888769c6 Auto merge of #134969 - Marcondiro:master, r=jhpratt,programmerjake c1b709541e2 Rollup merge of #131439 - mu001999-contrib:cleanup/static-mut, r=estebank 847cd898006 Remove qualification of `std::cmp::Ordering` in `Ord` doc e38fc1b0843 Auto merge of #132195 - clarfonthey:bigint-mul, r=scottmcm 4f7e5a623be Auto merge of #134966 - matthiaskrgr:rollup-lmhmgsv, r=matthiaskrgr aff952b674c char to_digit: avoid unnecessary casts to u64 9e0a6b0a3c4 Rollup merge of #134953 - DiuDiu777:unaligned-doc, r=RalfJung b003e5812c2 Auto merge of #134620 - ChrisDenton:line-writer, r=tgross35 8b8fd2d5855 Rollup merge of #134930 - RalfJung:ptr-docs-valid-access, r=jhpratt d487d12d362 Rollup merge of #134927 - DaniPopes:const-as_flattened_mut, r=scottmcm bfe0d0f6000 fix doc for read write unaligned in zst operation 99ca6ca7611 Auto merge of #134757 - RalfJung:const_swap, r=scottmcm 316349488dc ptr docs: make it clear that we are talking only about memory accesses b7b6a5d0649 Make slice::as_flattened_mut unstably const 0b1d0d95c67 Fix ptr::from_ref documentation example comment f26cc531ab6 Rollup merge of #134884 - calciumbe:patch1, r=jieyouxu b7620c7c1d9 Rollup merge of #134870 - geofft:patch-1, r=jhpratt 9adc4a11633 fix: typos f5e949debed Rollup merge of #134851 - lukas-code:alloc-ffi, r=tgross35 309cb6599b7 Fix sentence fragment in `pin` module docs d086afd99b8 docs: inline `alloc::ffi::c_str` types to `alloc::ffi` 15137457840 Auto merge of #134547 - SUPERCILEX:unify-copy, r=thomcc 5807d879643 Rollup merge of #134832 - tgross35:update-builtins, r=tgross35 c6c4ae7c842 Tidy up bigint mul methods a9e94810233 Rollup merge of #134823 - chloefeal:fix, r=tgross35,dtolnay 0e23de8b41d Update library/alloc/tests/sort/tests.rs c94032f1779 Update `compiler-builtins` to 0.1.140 a41400395c5 Rollup merge of #133663 - scottmcm:carrying_mul_add, r=Amanieu 764af3bad24 Override `carrying_mul_add` in cg_llvm 18ee1da10b9 Move `{widening, carrying}_mul` to an intrinsic with fallback MIR 559fdf03383 Fix typos acfeed3d3df Auto merge of #134822 - jieyouxu:rollup-5xuaq82, r=jieyouxu 5fb4df97165 Rollup merge of #134819 - ChrisDenton:trunc, r=Mark-Simulacrum 68b148643ac Rollup merge of #134622 - ChrisDenton:write-file-utf8, r=Mark-Simulacrum 6f23131fac2 Rollup merge of #134606 - RalfJung:ptr-copy-docs, r=Mark-Simulacrum e290e70bdc1 Auto merge of #134786 - ChrisDenton:fix-rename-symlink, r=tgross35 5cf455ff60d Fix renaming symlinks on Windows 0a3943e9496 Fix mistake in windows file open 051ece2a59c Rollup merge of #134791 - notriddle:notriddle/inline-ffi-error-types, r=tgross35 3a2ca84c46f Rollup merge of #134789 - betrusted-io:bump-unwinding-to-0.25.0, r=Mark-Simulacrum 3cbbd43963e Rollup merge of #134782 - wtlin1228:docs/iter-rposition, r=Mark-Simulacrum 1e8a843e7fd Rollup merge of #134728 - deltragon:barrier-doc, r=tgross35 9b632c12457 Rollup merge of #134649 - SUPERCILEX:statx-remember, r=thomcc a9b12533594 Rollup merge of #134644 - kpreid:duplicates, r=Mark-Simulacrum 7d72bc6894b Rollup merge of #134379 - bjoernager:slice-as-array, r=dtolnay c988c5c469a docs: inline `core::ffi::c_str` types to `core::ffi` f3a43e876b3 docs: inline `std::ffi::c_str` types to `std::ffi` ef9344328ea unwinding: bump version to fix asm b5a7e1cb2c3 Impl FromIterator for tuples with arity 1-12 97a492b242e Fix formatting 7bb71817d2d docs: update code example for Iterator#rposition 838b01dae5e stabilize const_alloc_layout 7c4bb0b875d rename typed_swap → typed_swap_nonoverlapping 3d7df0fa2cb stabilize const_swap adefdcb1aaf Auto merge of #134729 - oliveredget:typo, r=jieyouxu a76414742c2 Auto merge of #134722 - ChrisDenton:trunc, r=Amanieu 7102c61d871 Auto merge of #134333 - daxpedda:stdarch-bump, r=daxpedda 781fb68dbba Fix compilation issues on other unixes 2b6589fec62 Bump `stdarch` 301f4c8ba3f chore: fix typos b3642490a4a Use scoped threads in `std::sync::Barrier` examples efbda65a57a Windows: Use FILE_ALLOCATION_INFO for truncation 0429732714d Rollup merge of #134689 - RalfJung:ptr-swap-test, r=oli-obk f71f75d522a Rollup merge of #134662 - ionicmc-rs:any-safety-docs, r=Amanieu 6fc5a515b01 core: fix const ptr::swap_nonoverlapping when there are pointers at odd offsets in the type 2a7c4107dd3 Rollup merge of #134363 - estebank:derive-default, r=SparrowLii 6a41c5bd0cd Rollup merge of #134672 - Zalathar:revert-coverage-attr, r=wesleywiser 00523c6df55 Use `#[derive(Default)]` instead of manually implementing it 7a6c4cf81d9 Revert "Auto merge of #130766 - clarfonthey:stable-coverage-attribute, r=wesleywiser" 1d47e6a5af8 Auto merge of #134666 - matthiaskrgr:rollup-whe0chp, r=matthiaskrgr 47eacac789d Auto merge of #131311 - rust-lang:cargo_update, r=clubby789 08311d3b105 Rollup merge of #134642 - kpreid:pointerlike-cell, r=compiler-errors 49d33b15720 Rollup merge of #134583 - Enselic:maybe-uninit-transmute, r=workingjubilee ce16d167b68 Rollup merge of #130289 - intgr-forks:Permissions-readonly-vs-unix-root, r=ChrisDenton 5ec57233686 Fixes safety docs for `dyn Any + Send {+ Sync}` e31ed41f4ba Implement `PointerLike` for `isize`, `NonNull`, `Cell`, `UnsafeCell`, and `SyncUnsafeCell`. 736e842fc2a Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper 1a45918d751 docs: Permissions.readonly() also ignores root user special permissions e15ef644395 Improve prose around `as_slice` example of IterMut d03b67c2429 Specify only that duplicates are discarded, not the order. e70cbb149f5 Auto merge of #131193 - EFanZh:asserts-vec-len, r=the8472 619365dce13 Delete `Rvalue::Len` f913021f500 docs: `transmute<&mut T, &mut MaybeUninit<T>>` is unsound when exposed to safe code 0233b4ec888 Impl String::into_chars 56cc86af99f Rollup merge of #134602 - kpreid:pointerlike-doc, r=tgross35 9549c0c5306 Fix forgetting to save statx availability on success c50706f5f04 Auto merge of #134640 - matthiaskrgr:rollup-xlstm3o, r=matthiaskrgr 42621a94cbe Document collection `From` and `FromIterator` impls that drop duplicate keys. 22c6dcd7b19 Rollup merge of #134630 - fifty-six:master, r=workingjubilee 9c5420a144f Auto merge of #130733 - okaneco:is_ascii, r=scottmcm a5f05c31739 cargo update 88936d663d5 Eliminate redundant statx syscalls ae80bcc9736 Rollup merge of #134325 - theemathas:is_null-docs, r=RalfJung 37803ed66ad Rollup merge of #131072 - Fulgen301:windows-rename-posix-semantics, r=ChrisDenton 3edae543ffa Use `&raw` for `ptr` primitive docs 9f89bf55fb2 Unify fs::copy and io::copy 8f6317d2b8a Windows: Use WriteFile to write to a UTF-8 console dca1911ca13 Avoid short writes in LineWriter 10f58801c5e Document CTFE behavior of methods that call is_null 52c70cefc4e Correctly document is_null CTFE behavior. 8240334bbea ptr::copy: fix docs for the overlapping case 3d7ea928c48 Rollup merge of #134593 - kornelski:less-unwrap, r=jhpratt 8d44917bb2b Rollup merge of #134579 - hkBst:patch-6, r=jhpratt d1a3570e402 Rollup merge of #134577 - hkBst:patch-5, r=jhpratt 797d88a4f6e Rollup merge of #134576 - hkBst:patch-4, r=jhpratt 0d4f2977e8f Document `PointerLike` implementation restrictions. 39c036dacf9 Less unwrap() in documentation 9eacbacb845 Rollup merge of #123604 - michaelvanstraten:proc_thread_attribute_list, r=ChrisDenton 605e793d35f Rollup merge of #134573 - lukas-code:unimpl-dyn-pointerlike, r=compiler-errors 03b554d4296 Rollup merge of #134570 - hkBst:patch-3, r=joboet cb9fd5abb2d Rollup merge of #134560 - RalfJung:miri-thread-spawn, r=jhpratt 8ef4e1708c6 Improve prose around into_slice example of IterMut 490893e4337 Improve prose around `as_slice` example of Iter 346bb96231a Improve prose around basic examples of Iter and IterMut b2c67187209 remove reference to dangling from slice::Iter 8a76ac07549 fix `PointerLike` docs ea624faa800 unimplement `PointerLike` for trait objects 0348754b8e8 split up `#[rustc_deny_explicit_impl]` attribute 83961772930 mri: add track_caller to thread spawning methods for better backtraces 47c18d11c25 Rollup merge of #134518 - hltj:typo-fix, r=tgross35 a407b54ba53 Rollup merge of #132830 - wr7:substr_range_documentation, r=tgross35 1e42e55ad7f Rollup merge of #126118 - jan-ferdinand:docs_for_vec_set_len, r=the8472 325c2c83a7d fix typos in the example code in the doc comments of `Ipv4Addr::from_bits()`, `Ipv6Addr::from_bits()` & `Ipv6Addr::to_bits()` 2a30c761db7 build: Update libc version ff8e6c7266c Rollup merge of #134490 - hong9lol:typo, r=jhpratt 1ef2006c9ff Rollup merge of #132056 - weiznich:diagnostic_do_not_recommend_final_tests, r=compiler-errors 36dec866386 fix typo in ptr/mod.rs ba3898d82f3 Auto merge of #134443 - joshtriplett:use-field-init-shorthand, r=lqd,tgross35,nnethercote 815119ea508 Rollup merge of #134452 - jalil-salame:fix-lazy-cell-docs, r=tgross35 e5a64b47a53 Add 'into_array' conversion destructors for 'Box', 'Rc', and 'Arc'; 1e20f65b874 Implement Condvar::wait_timeout for targets without threads 0d4be900a97 Auto merge of #134425 - clubby789:cargo-update, r=jieyouxu e94636ef1eb fix(LazyCell): documentation of get[_mut] was wrong 9552b94e220 Stabilize `#[diagnostic::do_not_recommend]` 8f6473ca201 Use field init shorthand where possible 4dd1bd84b80 Rollup merge of #134426 - hkBst:patch-3, r=lqd 439ea50e256 Rollup merge of #133265 - the8472:extract-if-ranges, r=cuviper 5b50e4a613b compiler & tools dependencies: Updating allocator-api2 v0.2.20 -> v0.2.21 Updating annotate-snippets v0.11.4 -> v0.11.5 Updating anyhow v1.0.93 -> v1.0.94 Updating bstr v1.11.0 -> v1.11.1 Updating chrono v0.4.38 -> v0.4.39 Updating clap v4.5.21 -> v4.5.23 Updating clap_builder v4.5.21 -> v4.5.23 Updating clap_complete v4.5.38 -> v4.5.39 Updating clap_lex v0.7.3 -> v0.7.4 Updating colored v2.1.0 -> v2.2.0 Updating console v0.15.8 -> v0.15.10 Updating crossbeam-channel v0.5.13 -> v0.5.14 Updating crossbeam-deque v0.8.5 -> v0.8.6 Updating crossbeam-utils v0.8.20 -> v0.8.21 Updating encode_unicode v0.3.6 -> v1.0.0 Updating fastrand v2.2.0 -> v2.3.0 Updating home v0.5.9 -> v0.5.11 Updating js-sys v0.3.74 -> v0.3.76 Updating libc v0.2.167 -> v0.2.168 Updating miniz_oxide v0.8.0 -> v0.8.1 Updating pest v2.7.14 -> v2.7.15 Updating pest_derive v2.7.14 -> v2.7.15 Updating pest_generator v2.7.14 -> v2.7.15 Updating pest_meta v2.7.14 -> v2.7.15 Updating redox_syscall v0.5.7 -> v0.5.8 Updating rustc-stable-hash v0.1.0 -> v0.1.1 Updating rustix v0.38.41 -> v0.38.42 Updating self_cell v1.0.4 -> v1.1.0 Updating semver v1.0.23 -> v1.0.24 Updating serde v1.0.215 -> v1.0.216 Updating serde_derive v1.0.215 -> v1.0.216 Adding thiserror v2.0.7 Adding thiserror-impl v2.0.7 Updating time v0.3.36 -> v0.3.37 Updating time-macros v0.2.18 -> v0.2.19 Updating tokio v1.41.1 -> v1.42.0 Updating wasm-bindgen v0.2.97 -> v0.2.99 Updating wasm-bindgen-backend v0.2.97 -> v0.2.99 Updating wasm-bindgen-macro v0.2.97 -> v0.2.99 Updating wasm-bindgen-macro-support v0.2.97 -> v0.2.99 Updating wasm-bindgen-shared v0.2.97 -> v0.2.99 Updating wasm-encoder v0.221.0 -> v0.221.2 Updating wasmparser v0.221.0 -> v0.221.2 Updating wast v221.0.0 -> v221.0.2 Updating wat v1.221.0 -> v1.221.2 fbac32d2761 Auto merge of #130766 - clarfonthey:stable-coverage-attribute, r=wesleywiser f8d5f2f5031 Fix typo in uint_macros.rs 773ce8e12e0 Rollup merge of #134202 - nnethercote:rm-existing_doc_keyword, r=GuillaumeGomez 1ea6333e43b Remove `rustc::existing_doc_keyword` lint. 879b904eae9 Move `doc(keyword = "while")`. d655fd187d6 Stabilize #[coverage] attribute 7adb8ab561b remove obsolete comment and pub(super) visibility 71740c5e592 remove bounds from vec and linkedlist ExtractIf f5981cec754 Add a range argument to vec.extract_if f0297f13dde Rollup merge of #134277 - notriddle:notriddle/inline-into, r=GuillaumeGomez e88df256c16 Auto merge of #134332 - Zalathar:rollup-oe23hkw, r=Zalathar 93329f34b67 Rollup merge of #134310 - tkr-sh:master, r=Noratrieb ab4f84cae3e Rollup merge of #133406 - EFanZh:lock-value-accessors, r=Noratrieb 69756988c15 Rollup merge of #130361 - devnexen:sock_cloexec_solaris, r=cuviper 114f5e2c405 Auto merge of #133223 - zachs18:uniquerc-impls, r=Noratrieb cd6542897cb Asserts the maximum value that can be returned from `Vec::len` 9d2ca9a3477 Auto merge of #134258 - bjorn3:no_public_specialization, r=petrochenkov 66b6e751301 Rollup merge of #134022 - shahn:doc_clarify_extend_for_tuple_version, r=tgross35 3aa32597ed9 Rollup merge of #133986 - olishmollie:tracking-issue-127154-documentation, r=tgross35 b35e7babfbf Correct spelling of CURRENT_RUSTC_VERSION dca96f2d618 Replace i32 by char in `split_at` & `_unchecked` 5c0062fd6ba Add clarity to the "greater" of `VecDeque::insert` 36d2006d1e1 Replace i32 by char to add clarity f9d5fcf495e Auto merge of #134296 - matthiaskrgr:rollup-o0sxozj, r=matthiaskrgr 5416be5795f Add documentation for anonymous pipe module bd52a6d6b8d Rollup merge of #133942 - BD103:black-box-docs, r=saethlin 1d8c71769ac Rollup merge of #134255 - bjoernager:master, r=Noratrieb cd53ef86a04 Rollup merge of #134254 - hermit-os:hermit-c_char, r=workingjubilee feb218aac4a Rollup merge of #134252 - hermit-os:hermit-is_absolute, r=tgross35 78ef2d597d4 rustdoc-search: let From and Into be unboxed c1f85483921 Rollup merge of #134229 - purplesyringa:provenance-docs, r=saethlin d03fb91bd4d Rollup merge of #134140 - compiler-errors:unsafe-binders-ast, r=oli-obk c90e7e3ca98 Remove support for specializing ToString outside the standard library 1c55c9fbc60 Auto merge of #134047 - saethlin:inline-fmt-rt, r=m-ou-se 12a12d4f161 Update includes in '/library/core/src/error.rs'; 5a5d80fb80a Fix building `std` for Hermit after `c_char` change bfe81248fa4 Fix `Path::is_absolute` on Hermit 5d2388da58b Reword prelude for AsyncFn stabilization 9731c019cbe Stabilize async closures fd9b9cd330a Fix typos in docs on provenance 7837903093e feat: clarify how to use `black_box()` 0c7c57b9e3c Add unwrap_unsafe_binder and wrap_unsafe_binder macro operators 72e40f07dfe Rollup merge of #134179 - zachs18:align_offset_mut_ptr_doc, r=workingjubilee 67ef22c7127 Rollup merge of #134178 - ehuss:stabilize-2024-prelude, r=amanieu,traviscross,tgross35 0834c1f1db0 Rollup merge of #134155 - sthibaul:unsafe_op_in_unsafe_fn, r=tgross35 09d16d15513 Rollup merge of #133859 - bjorn3:move_tests_to_alloctests, r=tgross35 94ec2233bd0 Rollup merge of #122003 - mati865:gnullvm-build-libunwind, r=petrochenkov fa1541a5660 Stabilize the Rust 2024 prelude 6942ce52e34 Auto merge of #134177 - matthiaskrgr:rollup-hgp8q60, r=matthiaskrgr 3a1745b09e5 Rollup merge of #133598 - ChayimFriedman2:get-many-mut-detailed-err, r=scottmcm 566ea0f3dd8 Rollup merge of #132975 - arichardson:ffi-c-char, r=tgross35 ed224f8c25a Remove consteval note from <*mut T>::align_offset docs. 197f4744559 Rollup merge of #134079 - tbu-:pr_doc_x8_to_from_xe_bytes, r=jhpratt ff50c42ded8 Add a note saying that `{u8,i8}::from_{be,le,ne}_bytes` is meaningless 809dc2d9649 Forbid unsafe_op_in_unsafe_fn in hurd-specific os and sys files 420c83c0cd8 Rollup merge of #134116 - RalfJung:const_nonnull_new, r=jhpratt bb71e111888 Rollup merge of #134100 - eholk:noop-rustc-const-stable, r=dtolnay d846ee80d9e Add references to the specific ABI documents faa946af9e7 Remove l4re from the unsigned char operating system list c589942e7af De-duplicate and improve definition of core::ffi::c_char f5dfac33df4 stabilize const_nonnull_new e24f63040e1 Rollup merge of #133472 - rust-wasi-web:master, r=joboet 0c9c5edf2d9 Rollup merge of #133456 - clubby789:cargo-update, r=ChrisDenton 1079f47e289 Rollup merge of #133184 - osiewicz:wasm-fix-infinite-loop-in-remove-dir-all, r=Noratrieb 577c96562be Remove rustc_const_stable attribute on const NOOP 7234c4f09e7 Rollup merge of #134032 - snprajwal:fix-docs, r=joboet 24e395ad1ab core: use public method instead of instrinsic 3a36268f22b core: improve comments a09c0403f2d Auto merge of #134052 - matthiaskrgr:rollup-puxwqrk, r=matthiaskrgr a9c38ee0d29 Rollup merge of #134050 - RalfJung:miri-sync, r=RalfJung 6fa0126c89c Rollup merge of #133880 - ChrisDenton:homedir, r=Mark-Simulacrum 0e491a9a3b1 Rollup merge of #133789 - rossmacarthur:then-with-doc-alias, r=Mark-Simulacrum ed50cd40ea2 Switch inline(always) in core/src/fmt/rt.rs to plain inline 886328011ef Downgrade cc e9bfb10f867 Rollup merge of #134013 - BLANKatGITHUB:intrinsic, r=saethlin 4e0eec33e6f Adds new intrinsic declaration c1d57f82a0e Rollup merge of #133987 - Will-Low:DefineTlsAcronym, r=workingjubilee 8f4016eba75 docs: better examples for `std::ops::ControlFlow` a73f6c64a01 Merge from rustc fd6e8d7358e Auto merge of #133978 - matthiaskrgr:rollup-6gh1iho, r=matthiaskrgr 069b38123a6 Merge from rustc 5852362e5d1 Define acronym for thread local storage 70e63e17b2c Auto merge of #118159 - EliasHolzmann:formatting_options, r=m-ou-se 3bcad5cb18b Rollup merge of #132187 - shahn:extend_more_tuples, r=dtolnay f761e9c676f Rollup merge of #130254 - GrigorenkoPV:QuotaExceeded, r=dtolnay ef4c4ae6b50 Rollup merge of #130209 - GrigorenkoPV:CrossesDevices, r=dtolnay 11e4cd165ae Auto merge of #133089 - eholk:stabilize-noop-waker, r=dtolnay aa5fc647d04 core: implement `bool::select_unpredictable` 70153836edd Rollup merge of #133790 - HypheX:improve-vec-docs, r=harudagondi,workingjubilee ca5965a8639 Merge from rustc 706da00d0ff Rollup merge of #133821 - Kobzol:replace-black-with-ruff, r=onur-ozkan debbad652d9 Stabilize noop_waker fa414d5787d Access members of `FormattingOptions` directly instead of via getters/setters 02156e9faf6 Removed constness for methods receiving a `&mut` parameter a0526432656 Added better reason for exposing `flags` and `get_flags` as unstable 9492becae41 Formatted 322c8b766b2 Refactored FormattingOptions to use a bitmask for storing flags a1b4810cfcf Revert "Turned public+unstable+hidden functions into private functions" 8bd8c11c06a Turned public+unstable+hidden functions into private functions 177d5fac526 Made all fns const b06f16ba681 impl Default for fmt::FormattingOptions 157c4f662e0 Fixed copy+paste error in comment 8fe085f1349 fmt::FormattingOptions: Renamed `alignment` to `align` 7de3770f6c6 Formatter::with_options: Use different lifetimes 3d16495ff6c Fixed another broken test 4d3d0470d23 Added struct `fmt::FormattingOptions` 29f1b2498b6 Formatter: Access members via getter methods wherever possible 7f0a865ead6 Improve documentation 4155a213e3e Add libc funcitons only for wasm32-wasip1-threads. a58d30811b5 Fix compilation for wasm32-wasip1 (without threads). 2834b3e1213 Rollup merge of #133882 - jyn514:doc-backtraces, r=saethlin 37f75ad5a08 Rollup merge of #133844 - RalfJung:simd_relaxed_fma-nondet, r=workingjubilee b89e20d1e5e Rollup merge of #127565 - esp-rs:xtensa-vaargs, r=workingjubilee 7af25276b17 Rollup merge of #133863 - oli-obk:push-pystoxvtvssx, r=lqd f4ab4b484fe Rollup merge of #118833 - Urgau:lint_function_pointer_comparisons, r=cjgillot db3e689077b Improve comments for the default backtrace printer 8874ede0208 Expand home_dir docs 33345baf830 Reformat Python code with `ruff` 6cfe2423972 Rename `core_pattern_type` and `core_pattern_types` lib feature gates to `pattern_type_macro` 8d19d7cf046 Move some alloc tests to the alloctests crate b75783a7146 clarify simd_relaxed_fma non-determinism 04abf699af3 Rollup merge of #133651 - scottmcm:nonnull-nonzero-no-field-projection, r=oli-obk 59c58640a80 Auto merge of #133818 - matthiaskrgr:rollup-iav1wq7, r=matthiaskrgr 6bebe1c8423 Rollup merge of #133726 - joshtriplett:breakpoint, r=oli-obk 57dbb716624 Rollup merge of #132937 - xmh0511:master, r=m-ou-se 1a1fa731d58 Update `NonZero` and `NonNull` to not field-project (per MCP807) 8df6841cf41 Rollup merge of #133796 - TDecking:borrowing-sub, r=tgross35 5248edd2723 Rollup merge of #133762 - RalfJung:const-size-of-val, r=workingjubilee 97f98da1fce Rollup merge of #133696 - RalfJung:const-hashmap, r=cuviper 592d87fafca Use UNIX thread_local implementation for WASI. 0b39639fa39 Update the definition of `borrowing_sub` 2f0494f936b Teach rust core about Xtensa VaListImpl and add a custom lowering of vaarg for xtensa. fb668a45993 Add `core::arch::breakpoint` and test 1ae06991054 Add doc alias 'then_with' for `then` method on `bool` 04e41db91f5 ./x miri: fix sysroot build a351bae8511 Rollup merge of #133395 - calebzulawski:simd_relaxed_fma, r=workingjubilee 6dd07606b78 Rollup merge of #133763 - Urgau:f16-midpoint-const-feat, r=Amanieu 7ef9e82c0ea Rollup merge of #133701 - kornelski:c-str, r=workingjubilee e5e10c242ac Rollup merge of #131713 - tgross35:stabilize-const_maybe_uninit_write, r=RalfJung,dtolnay eb96f323fa0 stabilize const_{size,align}_of_val 2b42df79e1a Stabilize `const_maybe_uninit_write` 7b043597c80 Use c"lit" for CStrings without unwrap b06cd98bd77 Allow fn pointers comparisons lint in library 3d21446fa49 Fix `f16::midpoint` const feature gate 072ea73a1f6 Rollup merge of #133743 - bjoernager:slice-as-array, r=joboet 21529533fde stabilize const_collections_with_hasher and build_hasher_default_const_new 166cfb13136 Auto merge of #133728 - jhpratt:rollup-k1i60pg, r=jhpratt ec43e851a59 Fix docs for '<[T]>::as_array'; 4a95157e48e Rollup merge of #133678 - Urgau:stabilize-ptr_fn_addr_eq, r=jhpratt f7d558398a2 Rollup merge of #133672 - RalfJung:const-stability-cleanup, r=jhpratt cf34b1540ea Rollup merge of #133711 - cod10129:master, r=Noratrieb 45418e9d2a6 Rollup merge of #131784 - Urgau:stabilize-midpoint, r=dtolnay 0ba4fb63cc1 Rollup merge of #131416 - okaneco:const_copy, r=RalfJung 58b87f49645 Mark `slice::copy_from_slice` unstably const 50363a21191 add isatty alias for is_terminal 06c9316079c Rollup merge of #133674 - scottmcm:chain-carrying-add, r=Amanieu b2f5848193a Rollup merge of #133669 - RalfJung:const_swap_splitup, r=dtolnay 833dd81deba Run `cargo update` and update licenses 5c2d5ca1784 Stabilize unsigned `num_midpoint` feature f4630c8d109 Rollup merge of #133686 - samueltardieu:push-xkxwxzxqokuu, r=compiler-errors 487eef7a511 Rollup merge of #133622 - mkroening:exception-blog, r=cuviper 84b80170276 Rollup merge of #133602 - SanchithHegde:fix-pathbuf-example-codeblocks, r=cuviper 2bfc089b74f Rollup merge of #133515 - SteveLauC:fix/hurd, r=ChrisDenton 964c0c061fe Rollup merge of #128184 - joboet:refactor_pthread_sync, r=workingjubilee 7b3ae4b14e8 Auto merge of #133684 - RalfJung:rollup-j2tmrg7, r=RalfJung b7abc7692ff Switch rtems target to panic unwind afea5597238 Add diagnostic item for `std::ops::ControlFlow` d17c5979b26 Rollup merge of #133670 - RalfJung:hashbrown, r=Amanieu 6965d9c1b06 Auto merge of #133659 - jieyouxu:rollup-576gh4p, r=jieyouxu e142fe090ef std: clarify comments about initialization 0236bd2058d Stabilize `ptr::fn_addr_eq` a54b5c85a48 Add value accessor methods to `Mutex` and `RwLock` ec760c9108f fix: hurd build, stat64.st_fsid was renamed to st_dev 550bfc05b24 rustc_allow_const_fn_unstable is not used in proc_macro 1ccf19dc122 get rid of a bunch of unnecessary rustc_const_unstable 70183029716 Fix chaining `carrying_add`s dd29fadf097 add test for bytewise ptr::swap of a pointer a7f3a3cc076 remove a whole bunch of unnecessary const feature gates 943aa44906f Abstract `ProcThreadAttributeList` into its own struct e6a732b0db2 move swap_nonoverlapping constness to separate feature gate 9d56b9dbedd bump hashbrown version e423a339a39 move slice::swap_unchecked constness to slice_swap_unchecked feature gate 46851ab5cc9 Rollup merge of #133548 - cuviper:btreeset-entry-api, r=Mark-Simulacrum b6bb042b28c Rollup merge of #133496 - rust-wasi-web:wasi-available-parallelism, r=Amanieu 5e218fe390d Rollup merge of #133106 - BLANKatGITHUB:intrinsic, r=RalfJung 3b2bca7e9f0 Rollup merge of #132515 - kornelski:home_fix, r=jhpratt 407d5985ad5 Rollup merge of #133625 - RalfJung:custom-mir-debug-info, r=compiler-errors a0b4e2ff644 Rollup merge of #116161 - Soveu:varargs2, r=cjgillot eeb808edfce Auto merge of #133533 - BoxyUwU:bump-boostrap, r=jieyouxu,Mark-Simulacrum 2992ba7e050 refine mir debuginfo docs bf4636bee39 Doc comment custom MIR debuginfo. 547854bab55 update link to "C++ Exceptions under the hood" blog c145db8fec3 Rollup merge of #133530 - timvisee:master, r=jhpratt 3ccd6102eae Rollup merge of #133466 - aksh1618:patch-1, r=thomcc e5e4ec16636 fix: fix codeblocks in `PathBuf` example 069a3f311a4 Auto merge of #123244 - Mark-Simulacrum:share-inline-never-generics, r=saethlin aa2609a583f Change `GetManyMutError` to match T-libs-api decision e97ec53b763 Share inline(never) generics across crates 68d3ed3d908 Also use zero when referencing to capacity or length 657e081ba8f Use consistent wording in docs, use zero instead of 0 e97f024d14b Auto merge of #133561 - GuillaumeGomez:rollup-g4upmv4, r=GuillaumeGomez c8ce91a5e34 Rollup merge of #133543 - mustartt:aix-lgammaf_r-shim, r=cuviper 3d06a7c117e Rollup merge of #133512 - bjoernager:slice-as-array, r=Amanieu 5a2e12351d7 Rollup merge of #129409 - grinapo:patch-1, r=Amanieu 64d66ce14ba Rollup merge of #133498 - GuillaumeGomez:missing-examples, r=joboet 95afca906a6 Stabilize `extended_varargs_abi_support` 8416a6beeca Fill in a `BTreeSet::entry` example 32276df18d5 Add a tracking issue for `btree_set_entry` 0b8b46754ae Add `BTreeSet` entry APIs to match `HashSet` de67dab738c fmt b255bcd4709 update cfgs d5ee74c8b2c Implement code review cc94a61244f replace placeholder version ea762e31d64 Auto merge of #133369 - Zalathar:profiler-builtins-no-core, r=jieyouxu be4d7f97a51 Rollup merge of #133449 - joboet:io_const_error, r=tgross35 fddc6136036 Rollup merge of #133402 - compiler-errors:drop-and-destruct, r=lcnr b5baaaa3d2a Auto merge of #133505 - compiler-errors:rollup-xjp8hdi, r=compiler-errors 11a4630ce28 chore: Improve doc comments d3ade682724 Add '<[T]>::as_array', '<[T]>::as_mut_array', '<*const [T]>::as_array', and '<*mut [T]>::as_mut_array' conversion methods; cdf278252ad std: update internal uses of `io::const_error!` 182e0fde338 Rollup merge of #133435 - RalfJung:test_downgrade_observe, r=tgross35 6e22739b070 Rollup merge of #133282 - tgross35:maybe-uninit-debug, r=Amanieu 585dfc5b52e Rollup merge of #133136 - ChayimFriedman2:get-many-mut, r=Amanieu 75101ecc49d Rollup merge of #133042 - cuviper:btreemap-insert_entry, r=Amanieu c590ef03caa Rollup merge of #133464 - RalfJung:whitespace-panic, r=joboet b0910ed9eec Rollup merge of #133419 - CromFr:add-path-strip_prefix-test-example, r=Amanieu ec61c1e49a2 Add missing code examples on `LocalKey` c8c96e00fdc thread::available_parallelism for wasm32-wasip1-threads 85ceea5ea32 Refactor ReadDir into a state machine 9e9b5eeb86b Run TLS destructors for wasm32-wasip1-threads 2dec6432dc5 Fix typos in pin.rs 02b3316cbb9 std::thread: avoid leading whitespace in some panic messages ee91620dbef Constify Drop and Destruct 7abb3262e5d std: expose `const_io_error!` as `const_error!` 786c3e18dcb Auto merge of #133247 - GuillaumeGomez:reduce-integer-display-impl, r=workingjubilee 992b1d2573c Support ranges in `<[T]>::get_many_mut()` 41bd055eaed miri: disable test_downgrade_observe test on macOS ca2246ba724 Rollup merge of #132982 - suaviloquence:2-doc-changed-alloc-methods, r=Mark-Simulacrum 6e2012f32d9 Rollup merge of #132533 - SUPERCILEX:patch-4, r=Mark-Simulacrum ed2598bafce fix `Allocator` method names in `alloc` free function docs fd68d3e37ee Rollup merge of #133298 - n0toose:remove-dir-all-but-not-paths, r=Noratrieb 74f078b7290 Rollup merge of #133260 - compiler-errors:deref, r=fee1-dead d1cf863b68f Rollup merge of #132730 - joboet:after_main_sync, r=Noratrieb 3f9124b0cf3 Added a doc test for std::path::strip_prefix cea713a6711 Rollup merge of #133389 - eduardosm:stabilize-const_float_methods, r=RalfJung 04dab39dbea Rollup merge of #133301 - GuillaumeGomez:add-example-wrapping-neg, r=workingjubilee dd7b253bb5d changes old intrinsic declaration to new declaration ce181b51151 Auto merge of #132611 - compiler-errors:async-prelude, r=ibraheemdev 9fc2c20cb23 Auto merge of #132597 - lukas-code:btree-plug-leak, r=jhpratt 7f63ef45955 Make profiler_builtins `#![no_core]` instead of just `#![no_std]` 75fe14cbea0 Remove unnecessary `#![allow(unused_features)]` 8ff9319664c Sort and separate lint/feature attributes in `profiler_builtins` 000c27de7b8 Constify Deref and DerefMut e105ad36675 Match simd_relaxed_fma documentation to fmuladd intrinsic bc1b909d1cf Auto merge of #133379 - jieyouxu:rollup-00jxo71, r=jieyouxu a0222ed6f11 Add simd_relaxed_fma intrinsic 18a772c0abf Stabilize `const_float_methods` 1fa5b7136ba Auto merge of #133377 - jieyouxu:rollup-n536hzq, r=jieyouxu 5048c462f73 Improve code by using `unsigned_abs` e8829bde64b Rollup merge of #133237 - fee1-dead-contrib:constadd, r=compiler-errors 4151e360996 Rollup merge of #133332 - bjoernager:const-array-as-mut-slice, r=jhpratt 842ed39a839 Rollup merge of #131505 - madsmtm:darwin_user_temp_dir, r=dtolnay 0b0403aade1 Auto merge of #132994 - clubby789:cc-bisect, r=Kobzol 44de774c840 Auto merge of #133360 - compiler-errors:rollup-a2o38tq, r=compiler-errors 6ea276ef35c Rollup merge of #133264 - lolbinarycat:os-string-truncate, r=joboet 5a6926c6a54 Auto merge of #132329 - compiler-errors:fn-and-destruct, r=lcnr 8cace9e9e4d Shorten the `MaybeUninit` `Debug` implementation 9fff2a79a89 aix: create shim for lgammaf_r 0c2dadaf889 Add code example for `wrapping_neg` method for signed integers b0893a5fb1d Deduplicate checking drop terminator 25cfe493429 Gate const drop behind const_destruct feature, and fix const_precise_live_drops post-drop-elaboration check df5f774cf44 Auto merge of #133339 - jieyouxu:rollup-gav0nvr, r=jieyouxu fd9dfbfa58e Rollup merge of #133337 - ColinFinck:thread-scoped-fix-typo, r=joboet 6ca197967f0 Rollup merge of #133330 - RalfJung:close, r=the8472 8cec9604aec Rollup merge of #133313 - thesummer:fix-arc4random, r=cuviper bd8c70b7603 Rollup merge of #133288 - bjoernager:const-array-each-ref, r=jhpratt c9a80ad59f4 Rollup merge of #133238 - heiher:loong-stdarch-rexport, r=Amanieu 0eb96d1dc9c Auto merge of #130867 - michirakara:steps_between, r=dtolnay c57bc831f1c Fix typo in `std::thread::Scope::spawn` documentation. b621e5886f5 Mark '<[T; N]>::as_mut_slice' as 'const'; 01df57db50c library: update comment around close() 125a43354b7 Don't try to use confstr in Miri dc9cd998086 Auto merge of #129238 - umgefahren:stabilize-ipv6-unique-local, r=dtolnay e515d5fdd20 distinguish overflow and unimplemented in Step::steps_between 7e9c665fcec Use arc4random of libc for RTEMS target fb92c4e9f3f Mention that std::fs::remove_dir_all fails on files 7edd22c19b6 Mark and implement 'each_ref' and 'each_mut' in '[T; N]' as const; e411c3361f6 constify `Add` 956d316aa96 Rollup merge of #131736 - hoodmane:emscripten-wasm-bigint, r=workingjubilee 8defa07da76 implement OsString::truncate 9dd9ebdafe5 Rollup merge of #133226 - compiler-errors:opt-in-pointer-like, r=lcnr c3a7a9ea54d Rollup merge of #130800 - bjoernager:const-mut-cursor, r=joshtriplett 05d96c22b33 Rollup merge of #129838 - Ayush1325:uefi-process-args, r=joboet 7691bc11882 Make PointerLike opt-in as a trait 5c581c3aadf Reduce integer `Display` implementation size c819ed39def Stabilize const_pin_2 bb443655059 re-export `is_loongarch_feature_detected` 63a5059a757 Rollup merge of #132732 - gavincrawford:as_ptr_attribute, r=Urgau f48d6a9b1d9 UniqueRc: platform-specific AsFd/Handle/etc impls to mirror Rc e3055f65ed6 UniqueRc: PinCoerceUnsized and DerefPure f53e523d3c8 UniqueRc: comparisons and Hash 5f8f1a32611 Rollup merge of #133183 - n0toose:improve-remove-dir-docs, r=joboet 88965979fa9 Rollup merge of #125405 - m-ou-se:thread-add-spawn-hook, r=WaffleLapkin 4da0cb33032 Rollup merge of #123947 - zopsicle:vec_deque-Iter-as_slices, r=Amanieu 31096758b3f UniqueRc: Add more trait impls. 4f1707779d3 Update doc comments for spawn hook. e7cb7389192 Address review comments. 595f0d9f0f8 Fix tracking issue. 4fe82dfc2b3 Add tracking issue. 56ea82557bd Use Send + Sync for spawn hooks. 977c4c304f2 Add thread Builder::no_hooks(). e253c673db1 Update thread spawn hooks. 053640f6f35 Use add_spawn_hook for libtest's output capturing. 2a846d803f4 Add std::thread::add_spawn_hook. 525dab97bb6 Correct comments concerning updated dangling pointer lint d2430399b75 Auto merge of #133205 - matthiaskrgr:rollup-xhhhp5u, r=matthiaskrgr 3c67ef9e5a2 Rollup merge of #133200 - RalfJung:miri-rwlock-test, r=tgross35 3516801bae2 ignore an occasionally-failing test in Miri 207627c1104 Rollup merge of #133182 - RalfJung:const-panic-inline, r=tgross35 fb525301a5f Rollup merge of #132758 - nnethercote:improve-get_key_value-docs, r=cuviper 3bd5a7f4276 Mention std::fs::remove_dir_all in std::fs::remove_dir 40ecf6c22bf wasi/fs: Improve stopping condition for <ReadDir as Iterator>::next 6da3fda3593 Bump `stdarch` to the latest master d70eaaa68ec const_panic: inline in bootstrap builds to avoid f16/f128 crashes 1da1cc9cf07 std: allow after-main use of synchronization primitives 307d6f22226 Auto merge of #133160 - jhpratt:rollup-wzj9q15, r=jhpratt e09425b475c Rollup merge of #133145 - kornelski:static-mutex, r=traviscross 58da10b98d8 Auto merge of #128219 - connortsui20:rwlock-downgrade, r=tgross35 997906157b4 rename rustc_const_stable_intrinsic -> rustc_intrinsic_const_stable_indirect 601132a1007 Improve `{BTreeMap,HashMap}::get_key_value` docs. 2e135b01a22 Document alternatives to `static mut` bde38e315d0 Auto merge of #120370 - x17jiri:likely_unlikely_fix, r=saethlin b407a672d3c Likely unlikely fix f1532b9b5b2 Rollup merge of #133126 - ohno418:fix-String-doc, r=jhpratt 91ab1736cfe Rollup merge of #133116 - RalfJung:const-null-ptr, r=dtolnay 6f53685158e alloc: fix `String`'s doc 61efdcc7741 clean up const stability around UB checks c313f7e9291 stabilize const_ptr_is_null 6aced621042 Rollup merge of #132449 - RalfJung:is_val_statically_known, r=compiler-errors 0250296af6c Rollup merge of #131717 - tgross35:stabilize-const_atomic_from_ptr, r=RalfJung d27c37b4c4a reduce threads in downgrade test 8619ddabd64 fix `DOWNGRADED` bit unpreserved 45a5a4e3f1d fix memory ordering bug + bad test 525248ca5db add safety comments for queue implementation e2543ddca9c add `downgrade` to `queue` implementation c05bcc9c7fb modify queue implementation documentation ddd48e97263 add `downgrade` to `futex` implementation f9bcdb4474d add simple `downgrade` implementations 54967218559 add `downgrade` method onto `RwLockWriteGuard` dcda8df4676 add `RwLock` `downgrade` tests 49b742da57d Rollup merge of #133050 - tgross35:inline-f16-f128, r=saethlin 9b405001aa8 Rollup merge of #133048 - cyrgani:ptr-doc-update, r=Amanieu 3357615fc72 Rollup merge of #133019 - sorairolake:add-missing-period-and-colon, r=tgross35 7e17a11e61d Rollup merge of #132984 - sunshowers:pipe2, r=tgross35 e8a67ba743b Rollup merge of #132977 - cberner:fix_solaris, r=tgross35 dbd5fb14b17 Rollup merge of #132790 - aDotInTheVoid:ioslice-asslice-rides-again, r=cuviper 1b4ad7703eb Pass `f16` and `f128` by value in `const_assert!` e4c94766246 Remove one stray space. 58c02681d8f use `&raw` in `{read, write}_unaligned` documentation 1239f03791f btree: add `{Entry,VacantEntry}::insert_entry` 9aa607df7aa Auto merge of #132709 - programmerjake:optimize-charto_digit, r=joshtriplett 78626b047b6 Rollup merge of #133027 - no1wudi:master, r=jhpratt c6347be9b59 Auto merge of #133026 - workingjubilee:rollup-q8ig6ah, r=workingjubilee 28f9f7f6736 Fix a copy-paste issue in the NuttX raw type definition c1bd3483194 Rollup merge of #133008 - onur-ozkan:update-outdated-comment, r=jieyouxu 51884ccd46d Rollup merge of #133004 - cuviper:unrecover-btree, r=ibraheemdev 9d1b5289926 Rollup merge of #133003 - zachs18:clonetouninit-dyn-compat-u8, r=dtolnay 275fab34cf3 Rollup merge of #132907 - BLANKatGITHUB:intrinsic, r=saethlin 265f69fd7de Rollup merge of #131304 - RalfJung:float-core, r=tgross35 521d06b1f3a Auto merge of #122770 - iximeow:ixi/int-formatting-optimization, r=workingjubilee 0874a0035d0 docs: Fix missing colon in methods for primitive types 524cbdaf3b7 docs: Fix missing period in methods for integer types 948e53de4bb Auto merge of #133006 - matthiaskrgr:rollup-dz6oiq5, r=matthiaskrgr 4a5f8c13225 update outdated comment about test-float-parse 5b9d092b2cf Rollup merge of #126046 - davidzeng0:mixed_integer_ops_unsigned_sub, r=Amanieu 0ec0a66f5ca Auto merge of #132662 - RalfJung:const-panic-inlining, r=tgross35 3a28e6e022a Update core CloneToUninit tests 35e1775fe1f btree: simplify the backdoor between set and map 0495cd155b6 Bump `cc` ec80ac9760a Fix compilation error on Solaris due to flock usage cdcb1d2d589 Auto merge of #132556 - clubby789:cargo-update, r=Mark-Simulacrum a66f410edcd Run `cargo update` and update licenses 1cccc6a94cc const_panic: don't wrap it in a separate function f79ecc84837 [illumos] use pipe2 to create anonymous pipes 46925ba44db Auto merge of #132883 - LaihoE:vectorized_is_sorted, r=thomcc 4ccf16b1eb0 Auto merge of #132972 - matthiaskrgr:rollup-456osr7, r=matthiaskrgr fe508063c28 Rollup merge of #132970 - tyilo:nonzero-u-div-ceil-issue, r=tgross35 e35eeacfc3e Rollup merge of #132966 - RalfJung:const_option_ext, r=jhpratt d1b467ef3b0 Rollup merge of #132948 - RalfJung:const_unicode_case_lookup, r=Noratrieb 5a207560656 Rollup merge of #132851 - chansuke:update-comment, r=thomcc ff8020378de Auto merge of #132870 - Noratrieb:inline-int-parsing, r=tgross35 7f43800757b Add tracking issue number to unsigned_nonzero_div_ceil feature dfdaf4d0da8 Make `CloneToUninit` dyn-compatible a6ab20eb090 stabilize const_option_ext aef6c7529bf Rollup merge of #132541 - RalfJung:const-stable-extern-crate, r=compiler-errors 9792fc3fa32 stabilize const_unicode_case_lookup 7cd4be6ea3f Stabilize `Ipv6Addr::is_unique_local` and `Ipv6Addr::is_unicast_link_local` 15b4af14a52 adds new declaration to codegen 513cbf8297b Auto merge of #132943 - matthiaskrgr:rollup-164l3ej, r=matthiaskrgr a636ccb7e8c Rollup merge of #132914 - rcorre:cell-grammar, r=tgross35 5af9cd39bdb Rollup merge of #132895 - scottmcm:generalize-nonnull-from-raw-parts, r=ibraheemdev bd35c207e83 remove no-longer-needed abs_private 71c0928f8e5 allow rustc_private feature in force-unstable-if-unmarked crates 2d1521ec8d3 Rollup merge of #132929 - cuviper:check-alloc_zeroed, r=tgross35 ba37edb8236 Rollup merge of #132869 - lolbinarycat:library-fix-too_long_first_doc_paragraph, r=tgross35 c3aa0fd6d20 Rollup merge of #132847 - RalfJung:addr-dont-expose, r=Mark-Simulacrum 7b678a96b68 Auto merge of #132919 - matthiaskrgr:rollup-ogghyvp, r=matthiaskrgr fe2df9994be a release operation synchronizes with an acquire operation 59ea28527ec Check for null in the `alloc_zeroed` example 422c4e8dc6b new intrinsic declaration be313a69b63 new intrinsic declaration bf896164821 Rollup merge of #132144 - adetaylor:receiver-trait-itself, r=wesleywiser 95128df8753 Rollup merge of #120077 - SUPERCILEX:set-entry, r=Amanieu 5b2d93dadf0 Update dangling pointer tests ed8add25d55 Tag relevant functions with #[rustc_as_ptr] attribute eee61579d6d Auto merge of #132902 - matthiaskrgr:rollup-43qgg3t, r=matthiaskrgr 6bc254b09ed Update grammar in std::cell docs. bae8842bd22 Emscripten: link with -sWASM_BIGINT 6bc8a98cbb4 Rollup merge of #130999 - cberner:flock_pr, r=joboet 2e3a4db79e1 Auto merge of #127589 - notriddle:notriddle/search-sem-3, r=GuillaumeGomez 08e1228e615 Generalize `NonNull::from_raw_parts` per ACP362 f9a5ed02f86 vectorize slice::is_sorted 318b54e4aa4 `#[inline]` integer parsing functions 2b0fd040446 split up the first paragraph of doc comments for better summaries 863ba5a66b4 Update the doc comment of `ASCII_CASE_MASK` 192601ab1ba elem_offset / subslice_range: use addr() instead of 'as usize' 458dbbd00c3 Rollup merge of #132136 - RalfJung:target-feature-abi-compat, r=Mark-Simulacrum 29571c684a7 honor rustc_const_stable_indirect in non-staged_api crate with -Zforce-unstable-if-unmarked f1e6a403adc Improve documentation of `element_offset` and related methods 6a9d2a411f5 Rename `elem_offset` to `element_offset` 310a91d1a6a Add as_slice/into_slice for IoSlice/IoSliceMut. 450aa1288bd Rollup merge of #132778 - lolbinarycat:io-Error-into_inner-docs, r=cuviper e53a11a5e8f update io::Error::into_inner to acknowlage io::Error::other 3a3ed52ed1d Address review comments 70d11b2f164 Update library/std/src/sys/pal/windows/fs.rs 87dd8ff600f Auto merge of #132717 - RalfJung:rustc_safe_intrinsic, r=compiler-errors d51ad86fa5a remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead 362e652f6c6 Rollup merge of #132738 - cuviper:channel-heap-init, r=ibraheemdev ca7caf9db4c mark is_val_statically_known intrinsic as stably const-callable 36fd72193f9 Rollup merge of #132696 - fortanix:raoul/rte-235-fix_fmodl_missing_symbol_issue, r=tgross35 256a7ced72c Rollup merge of #132639 - RalfJung:intrinsics, r=workingjubilee,Amanieu 79569ee933c Initialize channel `Block`s directly on the heap db2b12c9066 core: move intrinsics.rs into intrinsics folder 0fa9a6c6c9e Auto merge of #132714 - mati865:update-memchr, r=tgross35 6d60a72a8d9 Rollup merge of #132715 - tabokie:fix-lazy-lock-doc, r=Noratrieb 17e5d3b5522 Rollup merge of #132665 - tyilo:nonzero-u-div-ceil, r=joboet da1331d6c40 Separate f128 `%` operation to deal with missing `fmodl` symbol 57cef21786e Auto merge of #132705 - kornelski:inline-repeat, r=tgross35 7802368a477 fix lazylock comment a5d839dc87d Auto merge of #131888 - ChrisDenton:deopt, r=ibraheemdev 64f77df1882 unpin and update memchr 2d7984a960f optimize char::to_digit and assert radix is at least 2 7317cd4555d Inline str::repeat 8446e1a5f47 Rollup merge of #132617 - uellenberg:fix-rendered-doc, r=cuviper df1594bbcf8 Auto merge of #131721 - okaneco:const_eq_ignore_ascii_case, r=m-ou-se 7e7f9ed6a32 Add `is_ascii` function optimized for x86-64 for [u8] b76ab440a07 Auto merge of #132500 - RalfJung:char-is-whitespace-const, r=jhpratt a442ac02b25 Add new implementation benchmark 5c39de3744c Add new unstable feature `const_eq_ignore_ascii_case` 3adbc621669 Auto merge of #132664 - matthiaskrgr:rollup-i27nr7i, r=matthiaskrgr 8ddab887db1 Change some code blocks to quotes in rendered std doc ef47b33a8cb Rollup merge of #131261 - clarfonthey:unsafe-cell-from-mut, r=m-ou-se dc052ced3b7 Auto merge of #132661 - matthiaskrgr:rollup-npytbl6, r=matthiaskrgr 9be5c2dc1de Implement div_ceil for NonZero<unsigned> b39a2860435 Rollup merge of #132571 - RalfJung:const_eval_select_macro, r=oli-obk 3a28e6ad6b1 Rollup merge of #132473 - ZhekaS:core_fmt_radix_no_panic, r=joboet 46c3034cd24 Rollup merge of #132153 - bjoernager:const-char-encode-utf16, r=dtolnay d52956082bc add const_eval_select macro to reduce redundancy 9250b4c4b59 Rollup merge of #132609 - NotWearingPants:patch-1, r=Amanieu 54bd3adf0e3 Rollup merge of #132606 - eduardosm:char-slice-str-pattern-doc, r=tgross35 6b9a5af164d most const intrinsics don't need an explicit rustc_const_unstable any more 49143b3b622 add new rustc_const_stable_intrinsic attribute for const-stable intrinsics 031f9c28368 convert all const-callable intrinsics into the new form (without extern block) 127883633f8 docs: fix grammar in doc comment at unix/process.rs ff59429bddf Improve example of `impl Pattern for &[char]` a68e38323fc Add AsyncFn* to to the prelude in all editions b8fe4fde115 Fixed typo, rebased 29a8fc997da Updated SAFETY comment to address underflow 008a74c9f20 Replace checked slice indexing by unchecked to support panic-free code ceac65d1adf Rollup merge of #132579 - RalfJung:rustc-std-workspace-crates, r=Amanieu 2ccb95e8380 btree: don't leak value if destructor of key panics 27c96552095 Stabilise 'const_char_encode_utf16'; 509dd073b69 Auto merge of #132586 - workingjubilee:rollup-qrmn49a, r=workingjubilee 4926ac05cdf update rustc-std-workspace crates 8d4546d424f Rollup merge of #132423 - RalfJung:const-eval-align-offset, r=dtolnay ae28b877064 Auto merge of #132434 - tgross35:f128-tests, r=workingjubilee b82b6a45cf7 Fix and undeprecate home_dir() db581d1e2bf Enable `f128` tests on all non-buggy platforms 🎉 9e03f8084c3 Auto merge of #132581 - workingjubilee:rollup-4wj318p, r=workingjubilee c506c0279ef Update `compiler_builtins` to 0.1.138 and pin it 4a3b0948bbe Rollup merge of #132563 - frectonz:master, r=Amanieu 803847138ff Auto merge of #123723 - madsmtm:apple-std-os, r=dtolnay f2175096363 Auto merge of #132479 - compiler-errors:fx-feat-yeet, r=fee1-dead caacc66a634 Rename the FIXMEs, remove a few that dont matter anymore 8bb7ce8a697 Auto merge of #132542 - RalfJung:const_panic, r=tgross35 72beb748321 remove const-support for align_offset 48f72455d35 Modify `NonZero` documentation to reference the underlying integer type b10bc73da0a Rollup merge of #132511 - RalfJung:const_arguments_as_str, r=dtolnay dee386e7977 Rollup merge of #132503 - RalfJung:const-hash-map, r=Amanieu 028616a5bca Rollup merge of #132499 - RalfJung:unicode_data.rs, r=tgross35 a04ae3433a7 Rollup merge of #132393 - zedddie16:issue-131865-fix, r=tgross35 99edf316755 Rollup merge of #131377 - rick-de-water:nonzero-exp, r=dtolnay 141ffe504bd Rollup merge of #129329 - eduardosm:rc-from-mut-slice, r=dtolnay 0f4c0ab62ba add const_panic macro to make it easier to fall back to non-formatting panic in const 0bad6557b73 stabilize const_arguments_as_str c77491eb408 Auto merge of #132458 - RalfJung:rustc-const-unstable, r=Amanieu 39157edbc09 Rustdoc: added brief colon explanation e4225758db0 Add Set entry API 578b3ff91b0 Add BorrowedBuf::into_filled{,_mut} methods to allow returning buffer with original lifetime 2037eace73d Rollup merge of #132495 - Houtamelo:remove_unintended_link, r=jieyouxu 31a805b08cf Rollup merge of #132493 - Houtamelo:doc_type-ref_html-tag, r=jieyouxu c2f25cd880d Rollup merge of #132482 - lukas-code:stab-attrs, r=Noratrieb cc5191d1d82 remove const_hash feature leftovers 2728af9203a const_with_hasher test: actually construct a usable HashMap a4a50b1b672 make char::is_whitespace unstably const 970eae4d52b unicode_data.rs: show command for generating file f5f55442e3f get rid of a whole bunch of unnecessary rustc_const_unstable attributes b14c6792db7 Rollup merge of #132398 - krtab:add_doc_link, r=Noratrieb 6f094ac1107 Remove unintended link a74274e4c08 Fix type reference in documents which was being confused with html tags. 033cb2e7928 fix some stability annotations bd16467dcc4 Rollup merge of #132459 - RalfJung:byte_sub_ptr, r=scottmcm e145c80b018 Rollup merge of #132455 - RalfJung:const_alloc_layout, r=dtolnay c22c341e06a Rollup merge of #132451 - RalfJung:less-rustc_allow_const_fn_unstable, r=tgross35 3bbba3d8bab Rollup merge of #132445 - RalfJung:const-unchecked-shifts, r=tgross35 7df01bee11b Rollup merge of #132413 - lolbinarycat:offset_of_nested-docs, r=workingjubilee 0579de67e47 remove no-longer-needed attribute b56688f9d64 add missing safety comments d12f27d4ef9 adjust test gating for f16/f128 d80df07dc04 float types: move copysign, abs, signum to libcore 5f86b1888e2 offset_from / sub_ptr docs: emphasize that pointers must be in the same allocation c34766cbcdc feat(byte_sub_ptr): add ptr::byte_sub_ptr 080a2e20906 make const_alloc_layout feature gate only about functions that are already stable e12063485b9 unchecked_shifts, unchecked_neg are safe-to-const-expose-on-stable, so we can get rid of a bunch of attributes 53bc80ca335 remove some unnecessary rustc_allow_const_fn_unstable 9661266001a Auto merge of #132206 - tgross35:update-builtins, r=wesleywiser c5d1f3effc7 use semantic line break 804ea40144f update offset_of! docs to reflect the stablization of nesting 1f1310db6fc Add intra-doc link in str::xxx_char_boundary 93963fe694b Add a `collect_into` tuple test case e19e4426450 Don't impl Extend for 13-tuples 86598670051 rustdoc-search: simplify rules for generics and type params ea2ceffe08d Remove do_not_const_check from Iterator methods f7e46bc4e8d Add intra-doc link in str::xxx_prefix ad90a435921 Auto merge of #132238 - Urgau:midpoint-i64-hackers-impl, r=joboet b1a8ad0421e Implement `From<&mut {slice}>` for `Box/Rc/Arc<{slice}>` de81c2cfd47 Auto merge of #132326 - matthiaskrgr:rollup-ngyw18g, r=matthiaskrgr c52ccba99aa Rollup merge of #132321 - betrusted-io:xous/fix-rustc_const_stable-attribute, r=joboet 8148aa07cca Auto merge of #132231 - lukas-code:rc-plug-leaks, r=tgross35 8c010b9c476 xous: sync: remove `rustc_const_stable` attribute 129f8e8c883 Win: rename: Use offset_of! in struct size calculation 38ae7fe6247 Rollup merge of #132270 - yakiimoninja:fs-truncate-docs, r=Noratrieb 94b192d0f13 Rollup merge of #132233 - WaffleLapkin:box-module-split, r=workingjubilee 16b2c9a2db5 Rollup merge of #131520 - zachs18:const-str-split, r=Noratrieb 5a311c1d378 Auto merge of #132277 - workingjubilee:rollup-5e6q6e4, r=workingjubilee f1a9b205273 Stabilize `const_atomic_from_ptr` 2525108f4c5 Auto merge of #128985 - GrigorenkoPV:instantly-dangling-pointer, r=Urgau 5e9f5b7bb19 Rc destructor: tweak inlining 70e917c03c0 Split `boxed.rs` into a few modules fedcb7c717f Rollup merge of #131441 - SpriteOvO:proc-macro-to-tokens-trait, r=dtolnay f156bce99c2 clarified std::fs truncate doc 1050cdf4056 Auto merge of #132145 - RalfJung:stdarch, r=Amanieu ace4a33dfbb clarified doc for `std::fs::OpenOptions.truncate()` 47fa409434a std: refactor `pthread`-based synchronization b1d5523119b New lint: `dangling_pointers_from_temporaries` 64c9d4f1857 Rollup merge of #131391 - ChaiTRex:isqrt, r=scottmcm,tgross35 53780a64b4c we can now enable the 'const stable fn must be stable' check 1f1a027091f bump stdarch 56e3763facb Auto merge of #132251 - jieyouxu:rollup-mtv9mpd, r=jieyouxu 4d02c63de8e Auto merge of #132200 - Mark-Simulacrum:strengthen-cross-lang, r=RalfJung 17cb40d2ccc Support `char::is_digit` in const contexts 77075c6dbc8 Use Hacker's Delight impl in `i64::midpoint` instead of wide `i128` impl 8ce9b1cfab9 Rc/Arc: don't leak the allocation if drop panics 99da8532715 add test for panicking drop in Box/Rc/Arc b737edbfba5 Auto merge of #131284 - dingxiangfei2009:rename-smart-ptr-to-coerce-referent, r=compiler-errors 01a07cd4871 Auto merge of #132191 - Urgau:midpoint_signed_towards_zero, r=dtolnay c3b9a53453f Add a new trait `proc_macro::ToTokens` 3dd1c135709 Update compiler-builtins to 0.1.136 dc9b4671988 Auto merge of #131715 - tgross35:add-const_sockaddr_setters, r=Amanieu c40fc128e80 Make clearer that guarantees in ABI compatibility are for Rust only 9be44cb8f7b Add test for all midpoint expectations c4cdbf7fbb1 Simplify documentation for Extend impl for tuples c528f49e40c Round negative signed integer towards zero in `iN::midpoint` a60439c0bce Rollup merge of #132019 - daboross:document-partialeq-oncelock, r=Mark-Simulacrum c1f1caa4131 Add Extend impls for tuples of arity 1 through 12 b0fc28c0c8b Auto merge of #131349 - RalfJung:const-stability-checks, r=compiler-errors ac13eae8512 Rollup merge of #132137 - RalfJung:behavior, r=Noratrieb a8f0d49ac66 get rid of the internal unlikely macro 752b4f49c6f Re-do recursive const stability checks 58397bb1fdd Arbitrary self types v2: (unused) Receiver trait 8ebd2382ca1 library: consistently use American spelling for 'behavior' 75eb49968ea ABI compatibility: remove section on target features 31b83431cee Rollup merge of #131457 - kpreid:fnaddr, r=dtolnay 3e063d045dc Auto merge of #132121 - workingjubilee:rollup-yrtn33e, r=workingjubilee 60585ca1420 Rollup merge of #132113 - LaihoE:pattern_as_utf8_default_impl, r=workingjubilee b6a311980d5 Rollup merge of #132101 - youknowone:thread_local-gyneiene, r=tgross35 798bde442ca Rollup merge of #132048 - mustartt:aix-random-impl, r=workingjubilee 6feac64de56 Rollup merge of #131851 - sunshowers:musl-posix, r=workingjubilee f5ccf0690b8 Avoid use imports in thread_local_inner! in statik 2e8a2eb7e08 Auto merge of #132116 - matthiaskrgr:rollup-3a0ia4r, r=matthiaskrgr 2a751f0ecfb Rollup merge of #131790 - nmathewson:doc_socketaddr_representation, r=tgross35 7315f476515 Auto merge of #131985 - compiler-errors:const-pred, r=fee1-dead deebbdb006e provide default impl for as_utf8_pattern 478357c2879 Auto merge of #123550 - GnomedDev:remove-initial-arc, r=Noratrieb 2ed812b6ba9 Document textual format of SocketAddrV{4,6} 2dd5cd15ed1 Remove associated type based effects logic c50af69cc05 [musl] use posix_spawn if a directory change was requested ec9c62c5d8b Rollup merge of #130225 - adetaylor:rename-old-receiver, r=wesleywiser 58baa6b1017 Rollup merge of #132066 - tifv:ptr-docs-typo, r=Amanieu 4eafd5f88bf Rollup merge of #132065 - tifv:dangling-docs, r=Noratrieb a351830dc1e Rollup merge of #132060 - joshtriplett:innermost-outermost, r=jieyouxu 726032a41a5 Rollup merge of #132039 - a1phyr:vecdeque_read_exact, r=Noratrieb 52be5ab2eba Rollup merge of #130991 - LaihoE:vectorized_slice_contains, r=Noratrieb ed7dcef9363 const fn str::split_at* 908c430f90b const fn str::is_char_boundary 3804ceb5928 vectorized SliceContains dab8a07e0c6 s/SmartPointer/CoerceReferent/g be2e2520a8f fix a typo in documentation of pointer::sub_ptr() 4489ada2533 fix documentation of ptr::dangling() function beb0813c0f9 "innermost", "outermost", "leftmost", and "rightmost" don't need hyphens e5207dc3e2f Specialize `read_exact` and `read_buf_exact` for `VecDeque` 57241596b67 Rollup merge of #132031 - slanterns:rc_default, r=ibraheemdev cdf7373322d Rollup merge of #131707 - clarfonthey:constify-core-tests, r=thomcc a723e9945c0 Auto merge of #131929 - LaihoE:replace_default_capacity, r=joboet e4fc33d4c2b AIX use /dev/urandom for impl c0f78b0fd64 better default capacity for str::replace 6cb2df2e4f2 Rename Receiver -> LegacyReceiver 44957966850 refactor `Arc<T>::default` 82498152f13 optimize `Rc<T>::default` cd6cb9b77a8 Rollup merge of #131697 - ShE3py:rt-arg-lifetimes, r=Amanieu 9d53c3d831f Document PartialEq impl for OnceLock f03c8c01999 Rollup merge of #132003 - RalfJung:abi-compat-docs, r=traviscross 4066a64f143 Rollup merge of #130350 - RalfJung:strict-provenance, r=dtolnay bda4d9a08c4 update ABI compatibility docs for new option-like rules f215166548f move strict provenance lints to new feature gate, remove old feature gates f623dd3510b stabilize Strict Provenance and Exposed Provenance f6c9bdee93a fix docs 8ca8d1c2840 replace FindFirstFileW with FindFirstFileExW and apply optimization ec7fd656204 replace FindFirstFileW with FindFirstFileExW and regenerate bindings fe800fec874 Auto merge of #131948 - matthiaskrgr:rollup-c9rvzu6, r=matthiaskrgr cbce52d7930 Support lock() and lock_shared() on async IO Files 337589b47fe Rollup merge of #131921 - klensy:statx_all, r=ChrisDenton a18ec462803 Rollup merge of #131772 - GnomedDev:remove-proc_macro-todo, r=petrochenkov 2de2bb8c725 Auto merge of #131907 - saethlin:update-compiler-builtins, r=tgross35 27da9878375 Update `compiler-builtins` to 0.1.134 4926eaf8eb3 Rollup merge of #131919 - RalfJung:zero-sized-accesses, r=jhpratt 128a16b2582 Rollup merge of #131890 - printfn:precise-capturing-docs, r=traviscross 482e00e978e Rollup merge of #127462 - Ayush1325:uefi-env, r=joboet 5b58eaf4c04 Remove the Arc rt::init allocation for thread info 907235305db Auto merge of #131816 - Zalathar:profiler-feature, r=Kobzol 50b999587c3 replace STATX_ALL with (STATX_BASIC_STATS | STATX_BTIME) as former is deprecated e10007c801c zero-sized accesses are fine on null pointers c839b06e6f7 Update `use` keyword docs to describe precise capturing 52d741650e3 std: uefi: Use common function for UEFI shell ee906dc299f std: uefi: Add basic Env variables bcb8c74ac6d Auto merge of #131895 - jieyouxu:rollup-jyt3pic, r=jieyouxu ec7185ea142 Rollup merge of #126207 - devnexen:stack_overflow_libc_upd, r=joboet d490861f932 Auto merge of #131841 - paulmenage:futex-abstraction, r=joboet 321ed487b43 Revert using `HEAP` static in Windows alloc 9f4792a0c17 Rollup merge of #131866 - jieyouxu:thread_local, r=jhpratt 70a07c3e85c Rollup merge of #131858 - AnthonyMikh:AnthonyMikh/repeat_n-is-not-that-special-anymore, r=jhpratt 397c893fc1a Rollup merge of #131809 - collinoc:fix-retain-mut-docs, r=jhpratt 958ce90f8b5 Rollup merge of #131774 - thesummer:rtems-add-getentropy, r=joboet a02fe2c3ab7 Rollup merge of #130136 - GKFX:stabilize-const-pin, r=dtolnay b75a761783d Add entropy source for RTEMS ee0238f6983 Rollup merge of #131850 - lexeyOK:master, r=compiler-errors 2fb1b3123dc Rollup merge of #131823 - thesummer:bump-libc-0.2.160, r=workingjubilee bad79f7adeb Rollup merge of #131654 - betrusted-io:xous-various-fixes, r=thomcc 5c57b583a5e Avoid shadowing user provided types or type aliases in `thread_local!` 3d6e29ab956 remove outdated documentation for `repeat_n` 2925689b331 Auto merge of #131572 - cuviper:ub-index_range, r=thomcc 7e5438a1c0e Bump libc to 0.2.161 11e5ea4617e std::unix::stack_overflow::drop_handler addressing todo through libc update f7bd16a03cc Missing parenthesis 1df22fb2b27 Abstract the state type for futexes 704ed799ad7 Rollup merge of #131835 - ferrocene:amanjeev/add-missing-attribute-unwind, r=Noratrieb afedc50a999 Rollup merge of #131833 - c-ryan747:patch-1, r=Noratrieb 55231fc463a Auto merge of #130223 - LaihoE:faster_str_replace, r=thomcc e3b067b3d5c Do not run test where it cannot run 96406cc04ba Add must_use to CommandExt::exec ff3476a0445 Make `profiler_builtins` an optional dependency of sysroot, not std f94af194acf Remove TODO in proc_macro now `const_refs_to_static` is stable 31b63e6cd04 Fix predicate signatures in retain_mut docs bfca7d41a5f Win: Remove special casing of the win7 target for `std::fs::rename` 85ffa8b1c0d Auto merge of #131797 - matthiaskrgr:rollup-lzpze2k, r=matthiaskrgr ea93b310074 Partially stabilize const_pin 5f8ad4da356 Rollup merge of #131730 - zlfn:master, r=tgross35 354887191ca Auto merge of #131792 - matthiaskrgr:rollup-480nwg4, r=matthiaskrgr 828d995efd6 Rollup merge of #130822 - bjoernager:non-null-from-ref, r=dtolnay 0d4e8ae492a Auto merge of #131767 - cuviper:bump-stage0, r=Mark-Simulacrum 3fc0b3dd5ab Rollup merge of #131746 - slanterns:once_box_order, r=joboet 1e8ad2f6796 Rollup merge of #131712 - tgross35:const-lazy_cell_into_inner, r=joboet 67981579caa Auto merge of #131460 - jwong101:default-placement-new, r=ibraheemdev c38229a1748 update bootstrap configs 0a1c9a389b5 replace placeholder version 9f57bef95bb relax a memory order in `once_box` fa35f4afd1d Rollup merge of #131521 - jdonszelmann:rc, r=joboet 466bf5e0288 Rollup merge of #130568 - eduardosm:…
2faa3f7c8b4 [create-pull-request] automated change 534f664479d Rollup merge of #137730 - RalfJung:checked_ilog_tests, r=tgross35 0009666d82c Rollup merge of #137673 - ChrisDenton:search-path-bug, r=dtolnay ab8c0cfc5d8 checked_ilog tests: deal with a bit of float imprecision f25513693c6 Rollup merge of #137551 - folkertdev:import-simd-intrinsics, r=RalfJung ef22eba437f Fix Windows `Command` search path bug ce4e90b25b9 Rollup merge of #137620 - SergioGasquez:fix/espidf-maybeunit, r=ChrisDenton 96922313a57 Rollup merge of #137197 - scottmcm:cmp-20, r=ibraheemdev 5479b2ad6ab make `simd_insert` and `simd_extract` `const fn`s eb5654f2eae Rollup merge of #136187 - hkBst:patch-27, r=workingjubilee cd635d994e0 Rollup merge of #137480 - fuzzypixelz:fix/124466, r=workingjubilee 4a53c0ae580 Rollup merge of #134585 - cyrgani:uninit_array, r=Amanieu 9d63c81d91e Rollup merge of #137304 - pitaj:rangebounds-is_empty-intersect, r=ibraheemdev a4651968d1e Rollup merge of #137614 - xizheyin:issue-134874, r=cuviper 32760e6fb81 require trait impls to have matching const stabilities as the traits b34926b7454 fix: attr cast for espidf 33f4731e738 Update some comparison tests now that they pass in LLVM20 e70b1ff3285 Do not use CString in the examples of CStr. 915269dc271 Use `.expect(..)` instead 5adeacff2e9 remove MaybeUninit::uninit_array 7705cdfbb1b add `IntoBounds::intersect` and `RangeBounds::is_empty` 869d022a1cf Rollup merge of #137311 - martn3:enable-f16-mips, r=tgross35 72dbd1c0a44 fix doc in library/core/src/pin.rs 30326222d56 Remove speculation on cause of error d6a2f47fa48 Rollup merge of #137154 - thaliaarchi:wtf8-fast-paths, r=ChrisDenton c44bf6092e6 Return error on unexpected termination in `Thread::join`. fdd2b941388 Auto merge of #137594 - RalfJung:miri-sync, r=RalfJung 23d7eb68d9f Auto merge of #137608 - fmease:rollup-h4siso6, r=fmease 8f4472439c5 Rollup merge of #137515 - tgross35:update-builtins, r=tgross35 3488cddc017 Auto merge of #137571 - tgross35:rollup-i1tcnv1, r=tgross35 777eb99bac9 Enable `f16` for MIPS 54ff5f14eb4 Skip scanning for surrogates when not known valid 1aa165f13c3 disable a potentially bogus test on Miri 4deee2f6d22 Rollup merge of #137576 - goffrie:setvalzst, r=lcnr 1f29091cb16 Update `compiler-builtins` to 0.1.148 e075ffa20d0 Rollup merge of #137543 - petrochenkov:wintest, r=ChrisDenton f479cf06a2d Rollup merge of #137516 - RalfJung:rustc_const_unstable-cleanup, r=Amanieu 9ae17c4ab0a Add fast path for displaying pre-validated Wtf8Buf aeb606f73ca Merge from rustc d1d90a7ac0b Don't doc-comment BTreeMap<K, SetValZST, A> 4c37e11f15a Rollup merge of #137489 - RalfJung:no-more-rustc_intrinsic_must_be_overridden, r=oli-obk 5cce5b7cf69 Rollup merge of #137349 - thaliaarchi:io-optional-methods/zkvm, r=Noratrieb 5bd07475269 Merge from rustc 62afeaef8dc Rollup merge of #137321 - aviraxp:patch-1, r=cuviper da0d982d549 Rollup merge of #137109 - bend-n:knife, r=oli-obk f14cd2458ca Merge from rustc 5a36578d0cc Simplify trait error message for CoercePointee validation 5abd4842766 Rollup merge of #136775 - robertbastian:patch-2, r=Amanieu 5c3316fe7f9 Merge from rustc 992429ab2d1 Merge from rustc ec26d66a2d4 Merge from rustc ef05336af4b Merge from rustc 672a79aee02 Merge from rustc be9424d8607 Merge from rustc 0741a544fce remove some unnecessary rustc_const_unstable 2bc4b64227e Implement read_buf for zkVM stdin bc3a61fc61b stabilize extract_if 3bf9c33a87e Rollup merge of #136668 - WaffleLapkin:from_utf8_mut, r=Amanieu 4f39af59827 Update string.rs 8eba2b6091d Rollup merge of #135933 - hkBst:patch-19, r=workingjubilee de8f76701a7 Stabilize `core::str::from_utf8_mut` fe32499093f Update string.rs 35e9fddcdbb Rollup merge of #134655 - GrigorenkoPV:hash_extract_if, r=cuviper 1b69fc2ffbc Explain how Vec::with_capacity is faithful 6223aa0fb89 Stabilize `hash_extract_if` c7caf81fcc8 Rollup merge of #137483 - bend-n:😅, r=Noratrieb f1fd901a0ca std: Fix another new symlink test on Windows 0272ab0ad12 Rollup merge of #137495 - madhav-madhusoodanan:feature-unstable-control-flow-into-value, r=jhpratt e53e618a729 remove uses of rustc_intrinsic_must_be_overridden from standard library 58e14c5a08b Correct doc about `temp_dir()` behavior on Android 9a67325bd65 tidying up tidy fd31454ed56 Rollup merge of #137194 - kornelski:ftls, r=tgross35 b468e6f5ef5 Rollup merge of #137297 - tgross35:update-builtins, r=tgross35 5d96c0eb7f4 rename sub_ptr 😅 aac9abe8d7d Rollup merge of #137484 - chenyukang:yukang-fix-sort-doc, r=Noratrieb a648e8dae3a Added into_value const function to ControlFlow<T, T> 3038d7dc2b7 replaced the four occurrences of issue ="50547" in library/core/src/future/mod.rs with issue = "none" f48be49f92a Rollup merge of #136826 - xizheyin:issue-136737, r=thomcc 0860a5bb780 Rollup merge of #136543 - RalfJung:round-ties-even, r=tgross35 8cbc0a92989 Rollup merge of #137482 - rust9x:win-file-open-truncate, r=ChrisDenton ac72d17b959 Fix documentation for unstable sort 8ff19cd2688 Auto merge of #137237 - cuviper:stage0, r=Mark-Simulacrum b996f44eb42 Rollup merge of #137393 - chorman0773:unbounded-shifts-stabilize, r=Amanieu 0cf580d229d Win: use existing wrappers for `SetFileInformationByHandle` in `File::open_native` d301b900d7c Rollup merge of #137061 - progressive-galib:gen_future-closing#76249, r=ibraheemdev 89aab83adb0 Fix unbounded_shifts tests 27ce5417730 Stabilize `unbounded_shifts` 35c4cb8816d Rollup merge of #137383 - folkertdev:stabilize-unsigned-is-multiple-of, r=Noratrieb be8323f6160 Use faster thread_local! for stdout 0261d2a2d59 Update `compiler-builtins` to 0.1.147 fb4e13bed34 fix by comments 1c34210df0c add stdarch compatibility hack 85c9853792b Rollup merge of #137388 - PaulDance:disable-rename-posix-semantics-tests-under-win7, r=ChrisDenton 8be8047c51d Remove outdated target `unexpected_cfgs` adea8ad20df Rollup merge of #137121 - bend-n:master, r=Noratrieb 221385a917c stabilize `unsigned_is_multiple_of` a54fda2b385 Use faster thread_local in current_thread_id() 11411181da1 remove assume_init in stack_overflow 549534e8ba1 make the new intrinsics safe e7564768204 Rollup merge of #136910 - okaneco:sig_ones, r=thomcc 483de1dface Fix(lib/fs/tests): Disable rename POSIX semantics FS tests under Windows 7 b327b84b988 update `cfg(bootstrap)` 7df9d8c6bd0 Rollup merge of #135501 - tgross35:stdlib-dependencies-private, r=bjorn3 413a3310c0e stabilize (const_)ptr_sub_ptr 7c86b36c74b Highlight thread_local! const init in docs f7b7aac866c Consistently using as_mut_ptr() and as_ptr() in thread e459c9f24b6 intrinsics: unify rint, roundeven, nearbyint in a single round_ties_even intrinsic 4415d0742b5 Rollup merge of #137207 - petertodd:2025-add-track-caller-to-duration-div, r=jhpratt fb387be63b8 Auto merge of #137371 - matthiaskrgr:rollup-3qkdqar, r=matthiaskrgr 0c1fbdb8c85 update version placeholders a47d1610722 Replace some instances of `pub` with `pub(crate)` 48a14f65549 Replace mem::zeroed with mem::MaybeUninit::uninit for large struct in unix 1a4ad2c3913 Auto merge of #137397 - matthiaskrgr:rollup-ls2pilo, r=matthiaskrgr 6edaafa07dd Use `public-dependencies` in all sysroot crates 0c893c48e28 Auto merge of #136771 - scottmcm:poke-slice-iter-next, r=joboet 093b2dd2c7b Auto merge of #137192 - kornelski:windows-tls-lto, r=ChrisDenton 262b27961d7 Implement feature `isolate_most_least_significant_one` for integer types e9bacf56aff Rollup merge of #137270 - QianNangong:master, r=ChrisDenton 25dc446e48e Add #[track_caller] to Duration Div impl 42e50993daa Rollup merge of #136089 - jwong101:box-default-debug-stack-usage, r=Amanieu 3193246955e Rollup merge of #137353 - thaliaarchi:io-optional-methods/wasi-stdin, r=alexcrichton b5c451aceb2 Rollup merge of #134340 - Urgau:stabilize-num_midpoint_signed, r=scottmcm 41f44c0c2a3 Rollup merge of #137336 - riverbl:stabilise-os-str-display, r=tgross35 b8e78e4dd65 Implement read_buf for WASI stdin 1d2dfe5d1df Rollup merge of #136609 - mammothbane:master, r=scottmcm efe7f5c8635 Stabilise `os_str_display` f6853d3032f Rollup merge of #136148 - kpreid:type-str, r=joboet 3084f21ee06 core/net: IpAddr*::as_octets() 4c35ec344e3 Optionally add type names to `TypeId`s. 6df10f0d69d Auto merge of #137290 - matthiaskrgr:rollup-a7xdbi4, r=matthiaskrgr 47c13945bbd Rollup merge of #137228 - steffahn:one-coerces-to-supertypes-not-subtypes, r=the8472 45df460bc7e Auto merge of #137295 - matthiaskrgr:rollup-tdu3t39, r=matthiaskrgr e977bf15ab6 Add real safety comments c43b4a18dcc Remove obsolete MinGW ThinLTO+TLS workaround 93a7cf2a97a Fix `*-win7-windows-msvc` target since 26eeac1a1e9fe46ffd80dd0d3dafdd2c2a644306 0d3a9c03707 reduce `Box::default` stack copies in debug mode dd04daec27b Stabilize `num_midpoint_signed` feature fd1c0eb71ea Rollup merge of #136794 - cberner:stabilize, r=joshtriplett 1f0ce6c90cb Rollup merge of #137155 - thaliaarchi:wtf8-organize, r=ChrisDenton aa859ac3694 Rollup merge of #137277 - m4rch3n1ng:stabilize-inherent-str-constructors, r=tgross35 013d2bbf3ce Go back to `Some` instead of transmuting to it. 4cdfcdc9eda Rollup merge of #136347 - allevo:patch-1, r=Amanieu 507792b5923 Rollup merge of #136923 - samueltardieu:push-vxxqvqwspssv, r=davidtwco e3ff56ffacb stabilize `inherent_str_constructors` 46a1649e515 Save another BB by using `SubUnchecked` instead of a call to `arith_offset` cbe0653d2ce Rollup merge of #136301 - hkBst:patch-33, r=thomcc 5d9388a665d Rollup merge of #136690 - Voultapher:use-more-explicit-and-reliable-ptr-select, r=thomcc 343b2f64bb3 Simplify `slice::Iter::next` enough that it inlines 9e5f0441451 Rollup merge of #134995 - DaniPopes:stable-const_slice_flatten, r=Amanieu 2a2dbaeef74 Rollup merge of #132268 - elichai:string_try_from_vec, r=Amanieu 2caf94f6291 Rollup merge of #120580 - HTGAzureX1212:HTGAzureX1212/issue-45795, r=m-ou-se 41361dac70c Use more explicit and reliable ptr select in sort impls 64c93ea3b67 Rollup merge of #137026 - GrigorenkoPV:integer_sign_cast, r=jhpratt 424699cf8d9 Synchronize platform adaptors for OsString/OsStr dbd9cedd8df Remove ignored `#[must_use]` attributes from portable-simd f92489246ed Impl TryFrom<Vec<u8>> for String 5ad759b763c Auto merge of #137235 - matthiaskrgr:rollup-2kjua2t, r=matthiaskrgr 202dbd1f737 Simplify control flow with while-let ed9315df70a Rollup merge of #137214 - cyrgani:clippy_diagnostic_items, r=compiler-errors 3679c0befaf Improve WTF-8 comments fcf29f1bbf4 Rollup merge of #137205 - thaliaarchi:remove-wasi-fileext-tell, r=alexcrichton f0eef585628 Rollup merge of #137167 - martn3:reliable_f16_math-f16-erfc, r=tgross35 20fc20e346b Rollup merge of #136750 - kornelski:ub-bug, r=saethlin b2a8d7a568b Fix typo in hidden internal docs of `TrustedRandomAccess` aecf5dc60be Stabilize file_lock 41da80beaa4 Update library/std/src/fs.rs f18a9df4f26 Improve instant docs 5c5b9457412 Stabilize const_slice_flatten 2194daa6b5a add MAX_LEN_UTF8 and MAX_LEN_UTF16 constants 5ddf2effc5c Stabilize (and const-stabilize) `integer_sign_cast` 00ab0520732 Rollup merge of #137126 - m4rch3n1ng:fix-inherent-str-docs, r=Amanieu 0fc401590d4 add last std diagnostic items for clippy 0bc1f50f46e Remove std::os::wasi::fs::FileExt::tell 37bce540536 Update fs.rs 127536c4152 Rollup merge of #136876 - joshtriplett:locking-might-not-be-advisory, r=Amanieu d46c1158fd1 fix docs for inherent str constructors 0f003d5d543 Reorder "This lock may be advisory or mandatory." earlier in the lock docs 959937c3333 Clarify that locking on Windows also works for files opened with `.read(true)` ffa405cf0d8 Document that locking a file fails on Windows if the file is opened only for append 2459763ecf6 Reword file lock documentation to clarify advisory vs mandatory 71651c380d1 Auto merge of #137164 - matthiaskrgr:rollup-dj5826k, r=matthiaskrgr ea95884ae1b Auto merge of #137065 - jhpratt:rollup-ree9mej, r=jhpratt bd34cdb4a5e Rollup merge of #137165 - thaliaarchi:file-tell, r=ChrisDenton 1b96604d651 Rollup merge of #137114 - ChrisDenton:error, r=Noratrieb 58f85ded087 Fix &&str and trailing commas in io::const_error! 058bf2127b2 Rollup merge of #136983 - ehuss:misc-2024-prep, r=tgross35 1647e58efa7 docs: fix broken intra-doc links that never worked b1b5e298cf3 tests: Also gate `f16::erfc()` doctest with `reliable_f16_math` cfg b513281f252 Make ub_check message clear that it's not an assert c55966be8b2 Rollup merge of #136976 - jedbrown:jed/doc-boxed-deferred-init, r=tgross35 dc92bbb3d89 Rollup merge of #137101 - GrigorenkoPV:str-inherent-lint, r=Urgau fa5189d50da Rollup merge of #137105 - zachs18:cow-derefpure-restrict, r=Nadrieril 73f44f78f59 Auto merge of #136324 - GrigorenkoPV:erf, r=tgross35 4c9761775a9 Rollup merge of #137062 - thaliaarchi:io-optional-methods/write, r=workingjubilee 2c71ad17347 Use tell for <File as Seek>::stream_position 14d691f418e Rollup merge of #136986 - ehuss:library-unsafe-fun, r=Noratrieb ffe84fff3a9 Add an example for std::error::Error 335acee1020 Use io::const_error! when possible over io::Error::new c6cbff9e0a0 Rollup merge of #134016 - zachs18:stable-const-str-split_at, r=Amanieu 6b40d8ad1fe Rollup merge of #136967 - DaniPopes:io-repeat-fill, r=joboet d71a4644722 Rollup merge of #136844 - thaliaarchi:const-io-error, r=ChrisDenton 988870ffe34 invalid_from_utf8[_unchecked]: also lint inherent methods 290b6a60dab Restrict DerefPure for Cow<T> impl to T = impl Clone, [impl Clone], str. 27f347e0bc8 Rollup merge of #136978 - ChrisDenton:windows-bindgen, r=Amanieu 25187205ee9 Forward all default methods for I/O impls 98105f36f4d proc_macro: Apply unsafe_op_in_unsafe_fn 3bbbf42e07d Rollup merge of #136879 - kornelski:non1, r=Noratrieb 572414e74a7 std: Apply unsafe_op_in_unsafe_fn 71ce2bdb809 Rollup merge of #136749 - mzeitlin11:extend-asciichar, r=scottmcm 29c1eeff19c Fix safety of windows uwp functions 38e87f92a1d Rollup merge of #135687 - joseluis:feat-reexport_from_coroutine, r=scottmcm 9b22cb80d27 unwind: Apply unsafe_op_in_unsafe_fn 1705de8e70b panic_unwind: Apply unsafe_op_in_unsafe_fn d0700abec83 panic_abort: Apply unsafe_op_in_unsafe_fn 6083784fc05 core: Apply unsafe_op_in_unsafe_fn 542a752c435 std: Apply deprecated_safe_2024 d47029e790d Implement `f{16,32,64,128}::{erf,erfc}` f2bbc565dcd Rollup merge of #136886 - ehuss:remove-prelude-common, r=jhpratt 275c20c513d Windows: Update generated bindings to 0.59 1e64ed9c57a Add safe new to NotAllOnes a81117646e6 Implement Extend<AsciiChar> for String 338454a8a27 re-export `core::iter::FromCoroutine` 93e381990b7 Auto merge of #136735 - scottmcm:transmute-nonnull, r=oli-obk 93c147f58b9 test: Apply deprecated_safe_2024 4fcfc289648 Rollup merge of #136052 - no1wudi:fix, r=workingjubilee c08b2796eaf Rollup merge of #136992 - ehuss:update-backtrace, r=workingjubilee 2538dbc6ef0 std: Apply fixes for tail drop expressions fd10bd261a5 Rollup merge of #136908 - mustartt:aix-mutex-destory-einval, r=joboet d036e2ea0cb std: Apply rust_2024_incompatible_pat 50cba691b78 Rollup merge of #136904 - pitaj:range-into_bounds, r=tgross35 ff5f812a9e4 Auto merge of #134633 - GrigorenkoPV:get_disjoint_mut, r=cuviper 7f43e012253 Rollup merge of #136945 - samueltardieu:push-rsqlyknnvyqm, r=fmease f2c42c9a031 alloc boxed: docs: use MaybeUninit::write instead of as_mut_ptr cc3b4f3cb7d Const-stabilize `str::is_char_boundary` and `str::split_at(_mut)(_checked)`. 95dd71787b9 Use `slice::fill` in `io::Repeat` implementation 770553c6500 Remove the common prelude module 5e8e07f5431 `transmute` should also assume non-null pointers 280b371b0ed Correct comment for FreeBSD and DragonFly BSD in unix/thread b435bb8fab2 Update backtrace 08f2576fd8c std: Apply dependency_on_unit_never_type_fallback 2e1f95046d8 Rollup merge of #136949 - ehuss:wasm-bench-time, r=jhpratt 02020fd5274 Rollup merge of #136818 - a1phyr:io_repeat_exact, r=jhpratt c9596d6b46a std: Apply missing_unsafe_on_extern 71b655502aa Rollup merge of #136660 - compiler-errors:BikeshedGuaranteedNoDrop, r=lcnr 3132ff74a6b std: Apply unsafe_attr_outside_unsafe b7b093a5e40 alloc: Apply missing_unsafe_on_extern 8927d3d66dd alloc: Apply unsafe_attr_outside_unsafe e6d7f591547 alloc: Workaround hidden doctest line cd108abdaef Migrate coretests to Rust 2024 bcf9e350328 library: Update rand to 0.9.0 e2ecb7d1da7 core: Apply unsafe_attr_outside_unsafe 59fb4eec0a0 Implement and use BikeshedGuaranteedNoDrop for union/unsafe field validity 5d46dccf34d Auto merge of #136897 - workingjubilee:revert-unfcped-stab, r=WaffleLapkin 6c3812a8dc1 expect EINVAL for pthread_mutex_destroy for aix c6f1b6d70ca add `IntoBounds` trait dbddb7b91c2 Stabilize `get_many_mut` as `get_disjoint_mut` 896960bafcf Add diagnostic item for `std::io::BufRead` 7e227b9cc0a Fix import in bench for wasm 60608970734 Rollup merge of #136699 - joboet:netaddr_from_inner, r=cuviper 58c91d43dc0 Implement `read*_exact` for `std:io::repeat` bf0be1b4f5c Rollup merge of #136890 - saethlin:swap_nonoverlapping, r=RalfJung 4147cec2561 Auto merge of #136918 - GuillaumeGomez:rollup-f6h21gg, r=GuillaumeGomez 9b53cbb05d2 Rollup merge of #134090 - veluca93:stable-tf11, r=oli-obk 256c502d022 std: replace the `FromInner` implementation for addresses with private conversion functions 6fc9d804609 Change swap_nonoverlapping from lang to library UB c6379d38bab Rollup merge of #136915 - eyelash:float-precision, r=workingjubilee 5591f8f2f8d Stabilize target_feature_11 91e69c8946e Auto merge of #136823 - matthiaskrgr:rollup-vp20mk1, r=matthiaskrgr 1928fc43e0a Rollup merge of #136354 - hkBst:patch-34, r=ibraheemdev bd204869e9a Auto merge of #136851 - jhpratt:rollup-ftijn95, r=jhpratt 4322ecac0ed Rollup merge of #136874 - tgross35:likely-unlikely-tracking, r=jhpratt 26693e32414 library: amend revert of extended_varargs_abi_support for beta diff bdd68eccd3e Rollup merge of #136107 - dingxiangfei2009:coerce-pointee-wellformed, r=compiler-errors 5ff8d7cf1f0 Rollup merge of #136875 - BoxyUwU:rdg-push, r=jieyouxu 4ed3c3e009b `f128` is quadruple-precision 4e37d766a2d Auto merge of #135701 - calebzulawski:sync-from-portable-simd-2025-01-18, r=workingjubilee 8426a69acd6 Rollup merge of #136246 - hkBst:patch-29, r=ibraheemdev 1b0a9ad9ba7 Update docs for impl keyword 3dad72c8530 Rollup merge of #136704 - benschulz:patch-1, r=ibraheemdev 1c3f1888b82 Change the issue number for `likely_unlikely` and `cold_path` 2c739e20e9e Revert "Stabilize `extended_varargs_abi_support`" 3890690d522 Merge from rustc abc9673b439 `f16` is half-precision a0650c42d97 include note on variance and example 2ed24026590 Rollup merge of #136672 - safinaskar:alloc-2025-02-07-09-10, r=cuviper 3e4df80b3e9 Improve examples for file locking d57627f46ff Merge from rustc 72830f4eb3c Rollup merge of #136663 - WaffleLapkin:count-non-zero-ones, r=cuviper 9c157ba327e Fix long lines which rustfmt fails to format 62cabb84587 Rollup merge of #136714 - tgross35:update-builtins, r=tgross35 e11d62aae3d Reword doc comment on `CoercePointeeValidated` 1d6f47c07f8 Rollup merge of #136805 - RalfJung:miri-win-delete-self, r=Noratrieb c90c822004e Merge commit '3383cfbd3572465febc7a8f816a46304373de46a' into sync-from-portable-simd-2025-01-18 ef09740694b library: doc: core::alloc::Allocator: trivial typo fix 16799a55ad1 stabilize `NonZero::count_ones` cab9763ddfb Update `compiler-builtins` to 0.1.146 44782574ab9 block coerce_pointee_validated for stabilization 873be02f532 Rollup merge of #136705 - compiler-errors:edition-library, r=jhpratt 02adfe7cb12 ignore win_delete_self test in Miri 1dfcabf7e70 rename the trait to validity and place a feature gate afront a0b6ec54ac3 Rollup merge of #136552 - ChrisDenton:option-find-handle, r=Mark-Simulacrum cafca3be1e0 introduce CoercePointeeWellformed for coherence checks at typeck stage 16db876c02b Rollup merge of #136353 - purplesyringa:libtest-instant-wasm, r=Mark-Simulacrum 2feefb1ba98 Rollup merge of #136228 - hkBst:patch-28, r=Mark-Simulacrum 2b6e0b5cebf Auto merge of #136754 - Urgau:rollup-qlkhjqr, r=Urgau 8b1cc571f4c Auto merge of #136751 - bjorn3:update_rustfmt, r=Mark-Simulacrum 5c3257167bb Rollup merge of #135488 - GrigorenkoPV:vec_pop_if, r=jhpratt b5c85f2286e Fix pattern matching mode changes and unsafe_op_in_unsafe_fn a4d2882bd9c Use Option for FindNextFileHandle 8443daefc60 Rollup merge of #136099 - Kijewski:pr-rc-str-default, r=ibraheemdev b41429a1de1 fix(libtest): Enable Instant on Emscripten targets bfe81712864 Simplify Rc::as_ptr docs + typo fix 94627a7acd3 Rollup merge of #136724 - steffahn:asyncfn-non-fundamental, r=compiler-errors ab77653dea1 Rollup merge of #136601 - compiler-errors:borrow-null-zst, r=saethlin e913eba2cb7 Rustfmt 99148f7ff0b Stabilize `vec_pop_if` 96741b6d758 Mark extern blocks as unsafe 236345afe7a Rollup merge of #135696 - joboet:move_pal_io, r=Noratrieb b10af806cc1 Rollup merge of #136710 - JakenHerman:jaken/iterator-docs, r=workingjubilee 90cab3802a5 Rename field in OnceWith from gen to make a2f8502c001 Rollup merge of #136686 - bjoernager:master, r=jhpratt 4d9c35ff217 Mark link_section attr with unsafe 1ddaa63534d Rollup merge of #135945 - estebank:useless-parens, r=compiler-errors c23ba293a2b Auto merge of #136713 - matthiaskrgr:rollup-sy6py39, r=matthiaskrgr 556a71a5ad3 Rollup merge of #136634 - bjoernager:const-mut-cursor, r=m-ou-se df2b28f4cc2 Optimize `Rc::<str>::default()` implementation 0a8e0ae70d2 Make `AsyncFnOnce`, `AsyncFnMut`, `AsyncFn` non-`#[fundamental]` babe720d8d5 Rollup merge of #136213 - erickt:fs, r=Mark-Simulacrum 487228111da occured -> occurred f5cbf0b076e std: get rid of `sys_common::io` 73263e0c2c9 Document `Sum::sum` returns additive identities for `[]` 2668ab7df56 Clean up 'HashMap' and 'HashSet' docs; faf1fa55cd2 Rollup merge of #134367 - WaffleLapkin:trait_upcasting_as_a_treat, r=compiler-errors 46d1a628f42 Rollup merge of #136682 - ChrisDenton:move-win-proc-tests, r=joboet cc9f6150551 Rollup merge of #134679 - ChrisDenton:rm-readonly, r=Mark-Simulacrum 676f0dc6b88 Allow Rust to use a number of libc filesystem calls 485c78afbd9 std: move `io` module out of `pal` a51f1336522 Rollup merge of #136635 - jieyouxu:base_port, r=joboet d63c02feafb Windows: Test that deleting a running binary fails 405de076539 Rollup merge of #136615 - Ayush1325:uefi-net-unsupported, r=joboet 9c108e6ae99 Update platform information for remove_file ed73b90f955 Windows: remove readonly files 8fd1be1fc92 Rollup merge of #136502 - yotamofek:pr/fmt-from-fn-must-use, r=dtolnay 1e966caca8a Rollup merge of #136152 - Urgau:stabilize-map_many_mut, r=joshtriplett e7e091f280c Use `widening_mul` a5a7aa57451 Rollup merge of #136630 - jieyouxu:render_tests, r=ChrisDenton 6f08a8baae5 Remove some unnecessary parens in `assert!` conditions dbe679e7b92 Stabilise 'Cursor::{get_mut, set_position}' in 'const' scenarios; 6f5f4c6b45e remove use of `feature(trait_upcasting)` from core tests fbb038cb3ba Move two windows process tests to tests/ui 625515aea76 tests(std/net): remove outdated `base_port` calculation 4212c244e13 sys: net: Add UEFI stubs d1c9f09fa8e Rollup merge of #128045 - pnkfelix:rustc-contracts, r=oli-obk 27807262a03 Stabilize `HashMap::get_many_mut` as `HashMap::get_disjoint_mut` 57714491ddd Auto merge of #136613 - workingjubilee:rollup-ry6rw0m, r=workingjubilee 49980e97e80 tests(std): don't output to std{out,err} in `test_creation_flags` and `test_proc_thread_attributes` fecb7bd1e46 Auto merge of #136409 - TDecking:mul_hi, r=Mark-Simulacrum 819ec8b3ff2 Rollup merge of #136555 - cramertj:split_off, r=dtolnay 86a08cf5c97 Auto merge of #135760 - scottmcm:disjoint-bitor, r=WaffleLapkin 5218d095293 Rollup merge of #136595 - thaliaarchi:hermit-unreachable-pub, r=Noratrieb be6f2c1d2d9 Rollup merge of #136537 - tgross35:update-builtins, r=tgross35 5fb44eb49eb Rollup merge of #136566 - hkBst:patch-1, r=scottmcm d62ea01a329 Fix unreachable_pub lint for hermit target 9b438c66ca7 Rollup merge of #136517 - m4rch3n1ng:inherent-str-constructors, r=jhpratt 413676690c7 Fix link in from_fn.rs 150cb0588b6 Rollup merge of #136449 - joboet:move_pal_net, r=ChrisDenton ef227845f3c Rollup merge of #136418 - Ayush1325:command-env, r=jhpratt a35e7dfdace Auto merge of #135265 - pascaldekloe:fmt-int-speed, r=tgross35,ChrisDenton 36061e0452f Auto merge of #136533 - jhpratt:rollup-s0ign8n, r=jhpratt 203b704fa31 Mark `std::fmt::from_fn` as `#[must_use]` 5d134c64b2d Rename rustc_contract to contract 6962454c646 Add OneSidedRangeBound to eliminate panic in `split_point_of` 15bcd0a5a8d Auto merge of #136534 - jhpratt:rollup-dnz57dq, r=jhpratt 08c3ce221b7 More PR feedback ee844e70671 Update `compiler-builtins` to 0.1.145 a2827b06c26 specify a prim@slice in docs ad2725f5d75 std: move network code into `sys` 6e9ac9b4622 uefi: process: Add support for command environment variables 300e8fc6f86 Rollup merge of #136289 - Pyr0de:oncecell-docs, r=tgross35 f4208ee75ff Rollup merge of #136334 - ricci009:primitivers, r=tgross35 b7bb312d222 Improve contracts intrisics and remove wrapper function ac458f18cb6 Rename slice::take methods to split_off dd30ea2ad34 Rollup merge of #136518 - Urgau:fn_ptr-public-bound, r=Noratrieb 45b4c7a0668 PR feedback dcba615e5f3 implement inherent str constructors 1aa43ba6783 Rollup merge of #136167 - pitaj:new_range, r=Nadrieril bdae382f34e Separate contract feature gates for the internal machinery 39089eef4bf Rollup merge of #136511 - joshtriplett:nonzero-cast-signed-unsigned, r=dtolnay 3c33169df45 Add note about `FnPtr` being exposed as public bound d7242d63ffe Add `unchecked_disjoint_bitor` with fallback intrinsic implementation 514bab55d35 Rollup merge of #135621 - bjorn3:move_tests_to_stdtests, r=Noratrieb 394dcb3e051 Desugars contract into the internal AST extensions a1746473dce Rollup merge of #136479 - RalfJung:dirent64, r=tgross35 a79b9bac5e8 Add `cast_signed` and `cast_unsigned` methods for `NonZero` types f34447ba6d7 Express contracts as part of function header and lower it to the contract lang items 1366e7a2a0c Rollup merge of #136398 - pitaj:unsafecell_access, r=dtolnay 939915fc40e std::fs: further simplify dirent64 handling fc5034db5f8 For NonZero impl macros, give unsigned impls access to the corresponding signed type 552162b9386 contracts: added lang items that act as hooks for rustc-injected code to invoke. efb9264f7de add UnsafeCell direct access APIs a53d530e7c2 Contracts core intrinsics. 7d6cbfd0321 Rollup merge of #136452 - RalfJung:miri-sync, r=RalfJung 5e3f612c6e5 Rollup merge of #136351 - Darksonn:coerce-pointee-docs, r=compiler-errors 346b1b9e4d3 no unsafe pointer and no overflowing_literals in fmt::Display of integers 872d2d5e201 Rollup merge of #136364 - hkBst:ptr_cmp_docs, r=tgross35 2dd6f1b954c Docs for f16 and f128: correct a typo and add details 36ee538e947 OnceCell & OnceLock docs: Using (un)initialized consistently cbcd042fa02 primitive type migration from mod.rs to primitives.rs a2f17b528ca implement unstable `new_range` feature 545037dfc1f Remove stabilized feature gate 51781333738 Rollup merge of #136434 - RalfJung:rustc_allowed_through_unstable_modules-deprecation-required, r=compiler-errors dcd915af09a Merge from rustc d60bdc00a40 Rollup merge of #136163 - uellenberg:driftsort-off-by-one, r=Mark-Simulacrum 239c1fe9c11 black_box integer-input on fmt benches 8fac9d94bdf Rollup merge of #136360 - slanterns:once_wait, r=tgross35 1414e14e849 std::range 4596929935a Move env modifying tests to a separate integration test 5fd1bb52045 Rollup merge of #136283 - hkBst:patch-31, r=workingjubilee 5376994956a rustc_allowed_through_unstable_modules: require deprecation message 85576a8adf6 Merge from rustc 2b9bf95ee7c Rollup merge of #136307 - WaffleLapkin:minminmin, r=scottmcm 9291bab54d7 Fix for SGX 57f8c67fa58 Rollup merge of #134272 - RalfJung:destabilize-rustc_encodable_decodable, r=oli-obk 682595d3679 Merge from rustc 71f0bd67237 Rollup merge of #135684 - ranger-ross:mutex-docs, r=joboet b495363cf8d Fix benchmarking of libstd bf36b6da300 Rollup merge of #136133 - hkBst:patch-23, r=ibraheemdev a628f824f4d Merge from rustc 0495d281aea Move std::sync unit tests to integration tests 5e153c12d71 Merge from rustc e5ad7c036b2 Move std::thread_local unit tests to integration tests a668198c1a7 Move std::time unit tests to integration tests b9146161549 Move std::path unit tests to integration tests 35d67c0c45a Move std::panic unit tests to integration tests 1baab4f2f66 Move std::num unit tests to integration tests 7c5f24af08d Move std float unit tests to integration tests fc16a437ebd Move std::error unit tests to integration tests 28f5e19b58f Move std::env unit tests to integration tests 6b4756955a3 Rollup merge of #136296 - RalfJung:float-min-max, r=tgross35 60d61846b8f Auto merge of #136332 - jhpratt:rollup-aa69d0e, r=jhpratt 3183d2486aa Rollup merge of #136288 - joshtriplett:would-you-could-you-with-some-locks--would-you-could-you-in-some-docs, r=m-ou-se 97ffa18e8b7 Add documentation for derive(CoercePointee) 9ba61538858 document ptr comparison being by address e889acbc44e Auto merge of #134824 - niklasf:int_from_ascii, r=ibraheemdev e72e22d748c Auto merge of #134424 - 1c3t3a:null-checks, r=saethlin f52f37b64aa Fix off-by-one error causing driftsort to crash d045c6564e8 stabilize `once_wait` 7da926f4b8d Update encode_utf16 to mention it is native endian 566a5925c01 implement all min/max fns in terms of `<`/`is_lt` 53520b0e8c5 remove Rustc{En,De}codable from library and compiler 60ee85ff5e1 docs: Documented Send and Sync requirements for Mutex + MutexGuard 789f98920cd Fix sentence in process::abort f5f5b66a6a0 float::min/max: mention the non-determinism around signed 0 4ada84a9be5 Rollup merge of #135414 - tgross35:stabilize-const_black_box, r=dtolnay 0dce309955f Rollup merge of #136300 - RalfJung:compare-and-swap, r=joboet d49c94b7e1a Rollup merge of #136271 - Sky9x:debug-maybeuninit-footgun, r=tgross35 a5953ffe26b Insert null checks for pointer dereferences when debug assertions are enabled 477fe78bcef improve doc tests for (min/max/minmax).* functions 4daacfd4e5e make rustc_encodable_decodable feature properly unstable 7b0bae311a0 Stabilize `const_black_box` 696ed0b019e atomic: extend compare_and_swap migration docs b526b38305c Rollup merge of #135852 - lukas-code:asyncfn-prelude-core, r=compiler-errors 57502ae8f45 Rollup merge of #135475 - Ayush1325:uefi-absolute-path, r=jhpratt da7c5ba28ef Rollup merge of #136259 - hkBst:patch-30, r=thomcc 8d2b87f1012 Rollup merge of #135625 - c410-f3r:cfg-match-foo-bar-baz, r=tgross35,jhpratt 7358983940e Auto merge of #136248 - matthiaskrgr:rollup-leaxgfd, r=matthiaskrgr 6d9ab56fa76 Improve documentation for file locking a3c624cdddd Implement `int_from_ascii` (#134821) ba1a8d32f52 Remove minor future footgun in `impl Debug for MaybeUninit` 5cff2cbb997 Add `AsyncFn*` to core prelude de79c4679bd uefi: Implement path 826fd52be60 Rollup merge of #136215 - btj:patch-1, r=cuviper ef5c91b3b11 Cleanup docs for Allocator 109ac8f47de Auto merge of #136227 - fmease:rollup-ewpvznh, r=fmease 3b89126217e Rollup merge of #136092 - tbu-:pr_io_pipe_test, r=joboet bacd65f90f9 Rollup merge of #135847 - edwloef:slice_ptr_rotate_opt, r=scottmcm 43f9d04b18b btree/node.rs: pop_internal_level: does not invalidate other handles f079c8ac698 add inline attribute and codegen test 945cda6afc7 btree/node.rs: remove incorrect comment from pop_internal_level docs 7a07efab38f split slice::ptr_rotate into three separate algorithms, to hopefully help inlining 9d6cd040bfa optimize slice::ptr_rotate for compile-time-constant small rotates 338e97ae5d4 Auto merge of #136110 - RalfJung:miri-sync, r=RalfJung ace9ceaeede Auto merge of #136116 - fmease:rollup-c8pk3mj, r=fmease 4d5a27623bd Rollup merge of #135876 - usamoi:mpmc-doc, r=tgross35 dae2af17933 Auto merge of #136203 - matthiaskrgr:rollup-1k0f44l, r=matthiaskrgr 603f0641f16 Auto merge of #135937 - bjorn3:separate_coretests_crate, r=jieyouxu,tgross35 2dc1920a6da [cfg_match] Document the use of expressions f22a83346af Rollup merge of #136186 - Ayush1325:uefi-process-args-fix, r=nicholasbishop,Noratrieb 629a414e673 Test pipes also when not running on Windows and Linux simultaneously 2cb7f8e7b52 Rollup merge of #136012 - hkBst:patch-22, r=workingjubilee,tgross35 b315a0f3de9 Rollup merge of #135807 - jhpratt:phantom-variance, r=Amanieu 53898c04f20 Rollup merge of #136173 - taiki-e:c-char, r=tgross35 e8989e545ce uefi: process: Fix args e474bddea42 Rollup merge of #135886 - hkBst:patch-14, r=workingjubilee 32193f9a947 Document powf and powi calls that always return 1.0 41c64eee9da Rollup merge of #135773 - hkBst:patch-10, r=tgross35 28e01c38bec Rollup merge of #136071 - wowinter13:clippy-add-diagnostic-items, r=flip1995 7b555b2f54f Update comments and sort target_arch in c_char_definition cf42e055734 Rollup merge of #135805 - DiuDiu777:master, r=Noratrieb 72e67242a22 Rollup merge of #135869 - hkBst:patch-12, r=Noratrieb 2ff422c08af [Clippy] Add vec_reserve & vecdeque_reserve diagnostic items c2d176b4f6f Rollup merge of #135367 - Urgau:unreach_pub-std-3, r=Noratrieb 3494f8f0c9b Fix platform-specific doc string for AtomicUsize::from_mut to be platform-independent 67df310f041 Rollup merge of #133829 - GrigorenkoPV:fetch_update_infallible, r=Noratrieb 352a163d96d Rollup merge of #136039 - nvanbenschoten:pin-typo, r=Amanieu 0c9a1eb5f29 Rollup merge of #135991 - no1wudi:master, r=thomcc cd5fd526399 Auto merge of #136087 - jhpratt:rollup-tam1mzn, r=jhpratt da5a6b9e97c Rollup merge of #135948 - bjorn3:update_emscripten_std_tests, r=Mark-Simulacrum 178314d41fd Merge from rustc 59f932e69d9 Rollup merge of #136079 - RalfJung:compiler-fence-example, r=jhpratt 97d526057d1 fix doc for std::sync::mpmc 38a7085ef95 Actually run the bstr test 3c5567b1b6e Update `std::io::{pipe, PipeReader, PipeWriter}` docs the new location 1d46984c30b Implement phantom variance markers f190cc65ac6 Document purpose of closure in from_fn.rs more clearly 0cd822c2be6 Clarify WindowsMut (Lending)Iterator 45de455044f add missing allocator safety in alloc crate d5bdbec687e alloc: add `#![warn(unreachable_pub)]` 513ce5be854 Implement `AtomicT::update` & `AtomicT::try_update` 08a8e379cd1 Rollup merge of #136005 - BLANKatGITHUB:library, r=RalfJung b90df2b2421 Rollup merge of #135977 - nyurik:fix-fmt-options, r=joboet 99ceeecf2bf Rollup merge of #136019 - scottmcm:alias-unchecked-div, r=Mark-Simulacrum f2855b7c4b0 Rollup merge of #134283 - epage:logfile, r=Amanieu 756e9987736 Merge from rustc b3533525b98 Rollup merge of #135635 - tbu-:pr_io_pipe, r=joboet bd0b64380d2 compiler_fence: fix example 4ef7ff23205 Update comment 85603b0989f Move `std::io::pipe` code into its own file 2730800bf90 Improve and expand documentation of pipes 6cca0e21fb5 Rollup merge of #133631 - flba-eb:add_nto_qnx71_iosock_support, r=workingjubilee 7a027f878c7 Add an `unchecked_div` alias to the `Div<NonZero<_>>` impls f228279fdec Put all coretests in a separate crate 018b8cfbe65 add nto80 x86-64 and aarch64 target 8f906695c8f Add support for QNX 7.1 with io-sock on x64 17ea58476e3 Add new target for supporting Neutrino QNX 6.1 with `io-socket` network stack on aarch64 fa9f10a618c Rollup merge of #135983 - hkBst:patch-13, r=jhpratt 65064c66990 Rollup merge of #135883 - GrigorenkoPV:btree_set_upper_bound_mut, r=tgross35 f3b0c5de77e Auto merge of #135978 - matthiaskrgr:rollup-ni16gqr, r=matthiaskrgr 5965328b56e docs: fix typo in std::pin overview 1a43c91bf7c Fix set_name in thread mod for NuttX 5ebb9b0dbd1 Update a bunch of comments from before wasi support was added 280579b0e64 ports last few library files to new intrinsic style d7be70d2498 Rollup merge of #135938 - carlsverre:master, r=joboet 64dc2e2881b Fix `FormattingOptions` instantiation with `Default` ab2aae3059d fix(libtest): Deprecate '--logfile' 416530660b9 Rollup merge of #135956 - GrigorenkoPV:vec_pop_off, r=dtolnay f51dbbe32c3 Doc difference between extend and extend_from_slice e33ed931544 Auto merge of #135959 - matthiaskrgr:rollup-0jenyfw, r=matthiaskrgr 59bbbfd1991 Rollup merge of #135890 - GrigorenkoPV:deque-pop-if, r=thomcc 68bf05eab3b Remove a bunch of emscripten test ignores def0e3fdfd5 Rollup merge of #135728 - hkBst:patch-8, r=joboet 3e1c8fd4372 Update library/core/src/num/nonzero.rs 49413a0e583 Rollup merge of #135073 - joshtriplett:bstr, r=BurntSushi beb62d1e0c6 Make `Vec::pop_if` a bit more presentable 14692cb73a0 Rollup merge of #135366 - Urgau:unreach_pub-std-2, r=cuviper decbeed8f89 Rollup merge of #135489 - RalfJung:TryFromSliceError, r=tgross35 28681bf5492 Implement `VecDeque::pop_front_if` & `VecDeque::pop_back_if` e6dae77e656 Fix testing of the standard library with Emscripten 3990de0922a Rollup merge of #135415 - Harshit933:hard-link-error, r=ChrisDenton 36d426a2eae Fix whitespace af8bebf2e89 Add memory layout documentation to generic NonZero<T> bbc192435d3 remove pointless allowed_through_unstable_modules on TryFromSliceError b27e19cc6bf Add `File already exists` error doc to `hard_link` function 8ffe65b41f8 document order of items in iterator from drain 7651c270120 Rollup merge of #135856 - fmease:library-mv-obj-save-dyn-compat-ii, r=tgross35 1a62fd5d776 Auto merge of #135224 - wyfo:tls-panic-outline, r=cuviper a8a008c5a9b Rollup merge of #135821 - hkBst:patch-11, r=ibraheemdev 6e4b1e4369b Remove erroneous `unsafe` in `BTreeSet::upper_bound_mut` c07ef0cc502 Implement `CloneToUninit` for `ByteStr` 2372a0e8aa6 test: add `#![warn(unreachable_pub)]` 0988d269593 Rollup merge of #135837 - ChrisDenton:trunc, r=Noratrieb 92d506bb89f Library: Finalize dyn compatibility renaming 7bf569ac8ef Auto merge of #134286 - Urgau:unreach_pub-std, r=ibraheemdev 7cfd8b7452c Outline panicking code for `LocalKey::with` 17a5fcda59e Rollup merge of #135750 - scottmcm:cma-example, r=cuviper df4138c7579 fix OsString::from_encoded_bytes_unchecked description f082d0503fa Add doc aliases for BStr and BString e17bb4b7260 proc_macro: add `#![warn(unreachable_pub)]` 6281651f43e Remove test panic from File::open 5d8ff700b16 Rollup merge of #135741 - bardiharborow:std/net/rfc9637, r=Amanieu 116bda38044 Add an example of using `carrying_mul_add` to write wider multiplication 24951f74074 Omit some more `From` impls to avoid inference failures 9072ebd71b9 Rollup merge of #133695 - x17jiri:hint_likely, r=Amanieu 99da8ef76b8 Support `no_rc`, `no_sync`, and `no_global_oom_handling` 3fa2a3228c7 Rollup merge of #135762 - TomFryersMidsummer:patch-1, r=joboet 955a59303bf Add `#[cfg(not(test))]` to some impls to work around https://github.com/rust-lang/rust/issues/135100 ceb67fa1590 Rollup merge of #135626 - clubby789:env-note, r=ibraheemdev 196b8e096c4 Implement `ByteStr` and `ByteString` types 344c704afca Rollup merge of #135491 - RalfJung:remove-dead-rustc_allowed_through_unstable_modules, r=Mark-Simulacrum f77ca067551 Auto merge of #135714 - rust-lang:cargo_update, r=clubby789 be08a093c42 Auto merge of #134976 - mgsloan:improve-select-nth-unstable-docs, r=ibraheemdev 288931bc461 core: `#[allow(unreachable_pub)]` on unreachable `pub use` 7361f398f77 Recognise new IPv6 documentation range from RFC9637 164d8e33936 1. Removed 'rustc_nounwind' 2. Rewording of comments 3d325d714de Correct counting to four in cell module docs bf25c184ab9 doc: Point to methods on `Command` as alternatives to `set/remove_var` 2592843c025 Rollup merge of #135446 - klensy:panic_immediate_abort_ext, r=Mark-Simulacrum b1b054ee1a7 wasi/io: remove dead files 94dedd3f6b7 cargo update d6a1744cbc5 Auto merge of #135709 - lqd:bring-back-len, r=compiler-errors 789ff2a6fbd Rewrap following accepting review suggestions from @ibraheemdev ce098a55e9c core: add `#![warn(unreachable_pub)]` edc2593c7b1 Export likely(), unlikely() and cold_path() in std::hint 69cf947e4ca further improve panic_immediate_abort by removing rtprintpanic messages d207e54829a remove unnecessary rustc_allowed_through_unstable_modules fe9afd2c322 Rollup merge of #135661 - tgross35:stabilize-float_next_up_down, r=scottmcm 14ee0b17904 Update library/core/src/slice/mod.rs 748d0aea302 rtstartup: add `#![warn(unreachable_pub)]` 1f893ef3511 Rollup merge of #135583 - NobodyXu:move-pipe-to-io, r=joshtriplett ad43ce43d47 Update library/core/src/slice/mod.rs 0f133c47c1d panic_unwind: add `#![warn(unreachable_pub)]` 760be706a63 Update library/core/src/slice/mod.rs bb552f305f2 Update library/core/src/slice/mod.rs 7b0632349f8 Rollup merge of #135556 - AeonSolstice:patch-1, r=tgross35 e5ee93dbe25 Revert "Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper" 1cdc6e3044e Add references to the IEEE functions for `float_next_up_down` 6bc12e061f8 Fix import of pipe in kernel_copy.rs 3185ca2fbf3 Update library/core/src/slice/mod.rs a8ab90278c0 Rollup merge of #134496 - DiuDiu777:fix-doc, r=ibraheemdev 18b98a64742 Clarify note in `std::sync::LazyLock` example 746de56afda Stabilize `float_next_up_down` 08be32e6afa Move `std::pipe::*` into `std::io` 3a16aa1acda Update library/core/src/slice/mod.rs 0fda8d5b87c Rollup merge of #133720 - c410-f3r:cfg-match-foo-bar-baz, r=joshtriplett 0dfee752e16 fix typo in library/alloc/src/sync.rs f960e15c61c Less unsafe in `dangling`/`without_provenance` 74bac88495d Update library/core/src/slice/mod.rs 0111dd63fe0 Adjust syntax e46d8fc2087 Add missing safety descriptions to Arc's 'from_raw','increment_strong_count','decrement_strong_count' 3b9643ce23e Auto merge of #135555 - matthiaskrgr:rollup-jnqdbuu, r=matthiaskrgr b1c0cf9ea1c Update library/core/src/slice/mod.rs 04a2f29ea01 Rollup merge of #135003 - RalfJung:deprecate-allowed-through-unstable, r=davidtwco 9c62a74abd8 Update library/core/src/slice/mod.rs 0abd52ffbab Rollup merge of #132654 - joboet:lazy_main, r=ChrisDenton 83ac196933c Update library/core/src/slice/mod.rs ef0774a88c0 `then be` -> `be` based on feedback from @ibraheemdev 13d8bfbab1f Improve `select_nth_unstable` documentation clarity a7db84c9ce7 Auto merge of #135473 - matthiaskrgr:rollup-ksnst4l, r=matthiaskrgr ad7d754a96a Auto merge of #135465 - jhpratt:rollup-7p93bct, r=jhpratt b4bd8628dfa Auto merge of #135402 - matthiaskrgr:rollup-cz7hs13, r=matthiaskrgr dfc75dacde1 alloc: remove unsound `IsZero` for raw pointers e5fb21f5c29 Auto merge of #135525 - jhpratt:rollup-4gu2wpm, r=jhpratt 3c0d7e50bab Rollup merge of #135497 - DJMrTV:master, r=jhpratt 2be2b2670eb intrinsics: deprecate calling them via the unstable std::intrinsics path 0f249df53ea add comments explaining main thread identification 45017d3d3da Auto merge of #135359 - RalfJung:lang-start-unwind, r=joboet d64f897ad99 Rollup merge of #135381 - cod10129:vec-splice-doc, r=tgross35 9b7fbf18068 Rollup merge of #135405 - Ayush1325:path-is-absolute, r=tgross35 3bc678c4f0f Rollup merge of #135393 - Ayush1325:uefi-helper-path, r=thomcc 3bab8e46999 Rollup merge of #135379 - steffahn:uniquerc-invariant, r=Mark-Simulacrum da98d1e46d3 Add inherent versions of MaybeUninit methods for slices 8610d3c4304 Rollup merge of #135423 - compiler-errors:enforce-const-trait-syntactical, r=oli-obk,RalfJung 6cdf20cf1dc Rollup merge of #134678 - zachs18:offset-ptr-update, r=tgross35 40530b8b963 fix typo in typenames of pin documentation df2e474e444 Update compiler-builtins to 0.1.141 40ea7097744 std: lazily allocate the main thread handle 9254186407f avoid nesting the user-defined main so deeply on the stack e6bcb57d847 Add another `Vec::splice` example 87bae801bc1 Auto merge of #135420 - GuillaumeGomez:rollup-93vepka, r=GuillaumeGomez a1d9fd2ab49 path: Move is_absolute check to sys::path 67f43a68cfb uefi: helpers: Introduce OwnedDevicePath f568a1e95bb Auto merge of #135360 - RalfJung:structural-partial-eq, r=compiler-errors 3947bc26902 Make UniqueRc invariant for soundness 322d8204b7b Enforce syntactical stability of const traits in HIR 9241bd7529e Rollup merge of #134338 - tgross35:overflowing-c-safe-ret, r=bjorn3,antoyo 28853f9cee6 Update ReadDir::next in std::sys::pal::unix::fs to use `&raw const (*ptr).field` instead of `ptr.offset(...).cast()`. 863625372e1 Revert "Remove the Arc rt::init allocation for thread info" 7a0ae510eb3 use a single large catch_unwind in lang_start 453a0d09da6 Rollup merge of #135347 - samueltardieu:push-qvyxtxsqyxyr, r=jhpratt af3fec81727 Auto merge of #135384 - saethlin:inline-copy-from-slice, r=joboet 026346ff356 Update the explanation for why we use box_new in vec! 070b0d3ba6e update and clarify StructuralPartialEq docs bf496f4948d Rollup merge of #134143 - nyurik:err-nul, r=dtolnay 92e16bf88c9 Update compiler-builtins to 0.1.143 21d679aa039 Rollup merge of #135324 - Ayush1325:uefi-fs-unsupported, r=joboet 755dfe3dce3 Use `NonNull::without_provenance` within the standard library 52bae79bdba Add #[inline] to copy_from_slice e7dfd002454 Rename `pos` to `position` c0f881bd170 Rollup merge of #135236 - scottmcm:more-mcp807-library-updates, r=ChrisDenton 0ec2ec34838 Convert `struct FromBytesWithNulError` into enum 5f93459fd50 Rollup merge of #134693 - SpriteOvO:proc-macro-use-to-tokens-in-quote, r=tgross35 be57dc37e71 Initial fs module for uefi c5138809bc9 Improve the safety documentation on new_unchecked c4e74a93a6a Rollup merge of #132607 - YohDeadfall:pthread-name-fn-with-result, r=tgross35 d7f1e02303a Fix `proc_macro::quote!` for raw ident 2f129feaa84 Update a bunch of library types for MCP807 440a9c7993d Rollup merge of #134908 - madsmtm:ptr-from_ref-docs, r=ibraheemdev 7593e8c08da Used pthread name functions returning result for FreeBSD and DragonFly 8c71c64f0f9 Append `TokenTree` with `ToTokens` in `proc_macro::quote!` 435632819aa Auto merge of #135268 - pietroalbini:pa-bump-stage0, r=Mark-Simulacrum 326867e6762 Rollup merge of #134619 - hkBst:patch-7, r=jhpratt 50749415ccb Fix ptr::from_ref documentation example comment 7e9916791c8 Rename the internal simpler `quote` macro to `minimal_quote` e3f4dc872c1 Rollup merge of #135269 - estebank:unneeded-into, r=compiler-errors 95b7094421d fmt 2039e8df997 Improve prose around `as_slice` example of IterMut 5d599f86db2 Rollup merge of #135242 - RalfJung:nonnull-provenance, r=jhpratt 470a19ef9a9 update cfg(bootstrap) 01959a0f0cd Avoid naming variables `str` 3aff376e546 Remove some unnecessary `.into()` calls 3ad71e11eb8 Rollup merge of #135176 - kornelski:env-example, r=cuviper 3ce08450cb6 add missing provenance APIs on NonNull 1f8f9d1bb7a update version placeholders 50598e921e2 Rollup merge of #135139 - c410-f3r:8-years-rfc, r=jhpratt ce13c0a4b2c Rollup merge of #134389 - rust-wasi-web:condvar-no-threads, r=m-ou-se da93e788516 More compelling env_clear() examples d71e2a7b6dc Rollup merge of #131830 - hoodmane:emscripten-wasm-eh, r=workingjubilee 14b5f1bba24 [generic_assert] Constify methods used by the formatting system ae6d0c8996f Rollup merge of #133057 - tisonkun:into-chars, r=Amanieu 981947c8b11 Implement Condvar::wait_timeout for targets without threads 086ab355a3e Rollup merge of #135111 - tgross35:float-doc-aliases, r=Noratrieb fbd5a0531e7 Rollup merge of #135153 - crystalstall:master, r=workingjubilee b3e6b8b622e Add support for wasm exception handling to Emscripten target 4bc0d59f028 Rollup merge of #135110 - matthiaskrgr:adler, r=workingjubilee a0ddf4ab33e Impl String::into_chars 226b5755c82 Rollup merge of #135121 - okaneco:const_slice_reverse, r=jhpratt ef6152cc0f9 Add doc aliases for `libm` and IEEE names 7f65de518d3 chore: remove redundant words in comment 79903f9d43b Rollup merge of #135104 - the8472:disable-in-place-iter-for-flatten, r=Mark-Simulacrum 7923bb5f756 library: fix adler{-> 2}.debug c4017fd1ecb Clarified the documentation on core::iter::from_fn and core::iter::successors 6bee808b40b Mark `slice::reverse` unstably const 3d27a72d06f Rollup merge of #134996 - bdbai:uwp-support, r=jieyouxu,ChrisDenton 3a8c5a287b2 Rollup merge of #135091 - workingjubilee:backtrace-0.3.75, r=workingjubilee d7cc83ba407 Rollup merge of #135070 - klensy:backtrace-deps, r=workingjubilee d938ba2c6f7 Rollup merge of #133964 - joboet:select_unpredictable, r=tgross35 53d537fbd8d fix doc for missing Box allocator consistency 23ddd02a180 add regression test for unsound Flatten/FlatMap specialization c79c7190828 Rollup merge of #133420 - thesummer:rtems-unwind, r=workingjubilee 1ee92f98104 Fix UWP build 5b2b3c3096d Bump backtrace to 0.3.75 9110a8ff844 Rollup merge of #135046 - RalfJung:rustc_box_intrinsic, r=compiler-errors 5f771af4181 sync to actual dep verions of backtrace eb900b2d619 core: use public method instead of instrinsic c837683764d Auto merge of #135005 - matthiaskrgr:rollup-5ubuitt, r=matthiaskrgr 06408480d33 do not in-place-iterate over flatmap/flatten cde9f27826b Auto merge of #135059 - matthiaskrgr:rollup-0ka9o3h, r=matthiaskrgr 740560e4138 Switch rtems target to panic unwind c9e2487cf46 turn rustc_box into an intrinsic 8655f273b07 Auto merge of #134692 - GrigorenkoPV:sync_poision, r=tgross35 8a62db80a39 core: improve comments 3a3146b65fd Rollup merge of #134241 - liigo:patch-16, r=dtolnay e0ec275f7ad Bump backtrace to rust-lang/backtrace-rs@4d7906b 5287cd190ef core: implement `bool::select_unpredictable` 6e3e9450326 path in detail 2259e76b521 Auto merge of #122565 - Zoxc:atomic-panic-msg, r=the8472 a222c95d3f6 Auto merge of #134969 - Marcondiro:master, r=jhpratt,programmerjake 6a4f5400e41 Auto merge of #134080 - kleisauke:avoid-lfs64-emscripten, r=Noratrieb cb28bad5686 Rollup merge of #134985 - mgsloan:remove-unnecessary-qualification-in-Ord-trait-docs, r=Noratrieb b526b0da304 Move some things to `std::sync::poison` and reexport them in `std::sync` a2b498b9538 Try to write the panic message with a single `write_all` call 11e4b71295e Rollup merge of #131439 - mu001999-contrib:cleanup/static-mut, r=estebank b240f7d15b1 char to_digit: avoid unnecessary casts to u64 adc2653945b std::fs::DirEntry.metadata(): prefer use of lstat() on Emscripten 69b0fa44900 Remove qualification of `std::cmp::Ordering` in `Ord` doc ee9a7688711 Auto merge of #132195 - clarfonthey:bigint-mul, r=scottmcm 697f28c53c3 Remove allowing static_mut_refs lint 05e93dc814c Avoid use of LFS64 symbols on Emscripten 3ef3a4c8c1f Auto merge of #134966 - matthiaskrgr:rollup-lmhmgsv, r=matthiaskrgr 562249b99ce Tidy up bigint mul methods 9fcf85b78a5 Auto merge of #134620 - ChrisDenton:line-writer, r=tgross35 ec702d2bfe7 Auto merge of #134822 - jieyouxu:rollup-5xuaq82, r=jieyouxu adbb9b7eebd Rollup merge of #134930 - RalfJung:ptr-docs-valid-access, r=jhpratt 22d86e4b085 Rollup merge of #134851 - lukas-code:alloc-ffi, r=tgross35 dce6c6f58b2 Rollup merge of #134953 - DiuDiu777:unaligned-doc, r=RalfJung 9bb9676e641 Rollup merge of #133663 - scottmcm:carrying_mul_add, r=Amanieu dbb40a32a09 Avoid short writes in LineWriter c01618d365d Auto merge of #134786 - ChrisDenton:fix-rename-symlink, r=tgross35 22793b88951 Rollup merge of #134819 - ChrisDenton:trunc, r=Mark-Simulacrum c4eeaafd4fa Rollup merge of #134927 - DaniPopes:const-as_flattened_mut, r=scottmcm 29d517cbdfd ptr docs: make it clear that we are talking only about memory accesses af8229d31ea Auto merge of #134547 - SUPERCILEX:unify-copy, r=thomcc fc51735237e docs: inline `alloc::ffi::c_str` types to `alloc::ffi` df713c31ec6 fix doc for read write unaligned in zst operation 88e328a42d0 Override `carrying_mul_add` in cg_llvm e896c946904 Rollup merge of #134791 - notriddle:notriddle/inline-ffi-error-types, r=tgross35 d09e7862ab7 Rollup merge of #134622 - ChrisDenton:write-file-utf8, r=Mark-Simulacrum bc7ebfb8c71 Fix mistake in windows file open 27790d84a83 Auto merge of #134757 - RalfJung:const_swap, r=scottmcm 463088b1eb9 Make slice::as_flattened_mut unstably const 6c8fda2768e Rollup merge of #134884 - calciumbe:patch1, r=jieyouxu 2ba4093561f Rollup merge of #134832 - tgross35:update-builtins, r=tgross35 5c0677a593a Fix compilation issues on other unixes 1f5b3045be0 Move `{widening, carrying}_mul` to an intrinsic with fallback MIR 727f7a9c5ef Rollup merge of #134789 - betrusted-io:bump-unwinding-to-0.25.0, r=Mark-Simulacrum 236ef9b1463 Rollup merge of #134606 - RalfJung:ptr-copy-docs, r=Mark-Simulacrum 18e2c0d3490 rename typed_swap → typed_swap_nonoverlapping a18e662fec7 Rollup merge of #134870 - geofft:patch-1, r=jhpratt a1ac3297d45 fix: typos 9643e93b3a4 Rollup merge of #134823 - chloefeal:fix, r=tgross35,dtolnay 34bc9bb9e6e Update `compiler-builtins` to 0.1.140 98b8e1a91b8 Eliminate redundant statx syscalls 6ba80f87919 Rollup merge of #134782 - wtlin1228:docs/iter-rposition, r=Mark-Simulacrum 7cd8922d4e2 stabilize const_swap 743aa5aef7c Fix sentence fragment in `pin` module docs bd8181fce26 Update library/alloc/tests/sort/tests.rs f3f7f4d70a2 Unify fs::copy and io::copy 49201fd5452 Fix typos 6b9bf38917a Rollup merge of #134689 - RalfJung:ptr-swap-test, r=oli-obk 91e2cfe7ad9 Rollup merge of #134672 - Zalathar:revert-coverage-attr, r=wesleywiser 0590e1b585b Fix renaming symlinks on Windows 1a44c2b8380 docs: inline `core::ffi::c_str` types to `core::ffi` 2ed469a073a Windows: Use WriteFile to write to a UTF-8 console 485dd5e5b90 Impl FromIterator for tuples with arity 1-12 c7f76b091ba unwinding: bump version to fix asm 21c2c8c67d0 ptr::copy: fix docs for the overlapping case 74bb3ce4cf9 Rollup merge of #134728 - deltragon:barrier-doc, r=tgross35 cb89336f07f docs: update code example for Iterator#rposition ba0943ad7de Auto merge of #134729 - oliveredget:typo, r=jieyouxu b40cc1459b5 Rollup merge of #134662 - ionicmc-rs:any-safety-docs, r=Amanieu 3510a5c2dcb core: fix const ptr::swap_nonoverlapping when there are pointers at odd offsets in the type 1a43c8e1181 Auto merge of #134666 - matthiaskrgr:rollup-whe0chp, r=matthiaskrgr 4adc73546f3 Revert "Auto merge of #130766 - clarfonthey:stable-coverage-attribute, r=wesleywiser" 6efae8c1e5a stabilize const_alloc_layout 5560d0f5aec docs: inline `std::ffi::c_str` types to `std::ffi` 93827feac89 Fix formatting a1be2e39fa4 Rollup merge of #134649 - SUPERCILEX:statx-remember, r=thomcc 9c317c27776 Use scoped threads in `std::sync::Barrier` examples 2ac5591fe1d Auto merge of #134722 - ChrisDenton:trunc, r=Amanieu f8668aa23d0 chore: fix typos 4a79c5e078e Rollup merge of #134363 - estebank:derive-default, r=SparrowLii d87071864d6 Fixes safety docs for `dyn Any + Send {+ Sync}` aa5298bdc29 Auto merge of #131311 - rust-lang:cargo_update, r=clubby789 83d8e04c381 Rollup merge of #134644 - kpreid:duplicates, r=Mark-Simulacrum f38b7a8eb70 Fix forgetting to save statx availability on success 84732df6524 Auto merge of #134333 - daxpedda:stdarch-bump, r=daxpedda e59f16b2659 Windows: Use FILE_ALLOCATION_INFO for truncation 709d7714762 Use `#[derive(Default)]` instead of manually implementing it be13ae728b1 Rollup merge of #134379 - bjoernager:slice-as-array, r=dtolnay b04e6d31eb4 Specify only that duplicates are discarded, not the order. b2613470eb1 Bump `stdarch` b6f92379aa9 Add 'into_array' conversion destructors for 'Box', 'Rc', and 'Arc'; cf4353a8d7a Document collection `From` and `FromIterator` impls that drop duplicate keys. 062ca741752 Auto merge of #134640 - matthiaskrgr:rollup-xlstm3o, r=matthiaskrgr 5c2a3f5c0dd Rollup merge of #134593 - kornelski:less-unwrap, r=jhpratt 6ee934f66fe Auto merge of #130733 - okaneco:is_ascii, r=scottmcm f67f15cd92a Rollup merge of #123604 - michaelvanstraten:proc_thread_attribute_list, r=ChrisDenton ace863d1990 Rollup merge of #134642 - kpreid:pointerlike-cell, r=compiler-errors 5aee570630e Auto merge of #131193 - EFanZh:asserts-vec-len, r=the8472 ae6117c66d2 Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper 1a1f2eed685 cargo update c3da4055571 Rollup merge of #134630 - fifty-six:master, r=workingjubilee 2840d177bb3 Rollup merge of #134579 - hkBst:patch-6, r=jhpratt b1ec7aa2a5b Rollup merge of #134325 - theemathas:is_null-docs, r=RalfJung 3f039d44b0b Rollup merge of #134583 - Enselic:maybe-uninit-transmute, r=workingjubilee 820149307d0 Implement `PointerLike` for `isize`, `NonNull`, `Cell`, `UnsafeCell`, and `SyncUnsafeCell`. bd1bcb03ef5 Rollup merge of #134602 - kpreid:pointerlike-doc, r=tgross35 86d342fce83 Asserts the maximum value that can be returned from `Vec::len` d37e1841722 Delete `Rvalue::Len` 03d93454780 Use `&raw` for `ptr` primitive docs 43c74f9d408 Rollup merge of #134577 - hkBst:patch-5, r=jhpratt 5e7f3ecc813 Rollup merge of #131072 - Fulgen301:windows-rename-posix-semantics, r=ChrisDenton 185a174290a Rollup merge of #130289 - intgr-forks:Permissions-readonly-vs-unix-root, r=ChrisDenton 76b88277d58 docs: `transmute<&mut T, &mut MaybeUninit<T>>` is unsound when exposed to safe code 44eb34b3368 Document `PointerLike` implementation restrictions. 35a52dee7df Rollup merge of #134576 - hkBst:patch-4, r=jhpratt 9a0553ebaf9 docs: Permissions.readonly() also ignores root user special permissions ea2bbafa4d1 Less unwrap() in documentation ae390de3544 Add `is_ascii` function optimized for x86-64 for [u8] 8c4e4172ea4 Rollup merge of #134573 - lukas-code:unimpl-dyn-pointerlike, r=compiler-errors 65eb1f38744 Abstract `ProcThreadAttributeList` into its own struct bda1416b4c4 Improve prose around into_slice example of IterMut 25401efd1e2 Document CTFE behavior of methods that call is_null a849da28cde Improve prose around `as_slice` example of Iter f37928c7f7e Win: rename: Use offset_of! in struct size calculation 730d7b39757 Rollup merge of #134518 - hltj:typo-fix, r=tgross35 d9ad5101237 Improve prose around basic examples of Iter and IterMut f0a62358887 Add new implementation benchmark cfad6698f2d Rollup merge of #134570 - hkBst:patch-3, r=joboet 975e6a476c7 fix `PointerLike` docs eaf8ddf0fdd Correctly document is_null CTFE behavior. 91749613e6b Win: Remove special casing of the win7 target for `std::fs::rename` a81068cc3a1 Rollup merge of #132830 - wr7:substr_range_documentation, r=tgross35 d82aa03a786 Rollup merge of #134560 - RalfJung:miri-thread-spawn, r=jhpratt 96675c61a8f remove reference to dangling from slice::Iter 6ee6550b2f5 unimplement `PointerLike` for trait objects ced362460ca Win: Add test cases for renaming a directory while the target file is opened and for renaming over a non-empty directory 86274a989a8 Rollup merge of #126118 - jan-ferdinand:docs_for_vec_set_len, r=the8472 f9a6f81feee mri: add track_caller to thread spawning methods for better backtraces 4d0d8530873 split up `#[rustc_deny_explicit_impl]` attribute 323895fc242 Win: Use `FILE_RENAME_FLAG_POSIX_SEMANTICS` for `std::fs::rename` if available c8496ccf737 build: Update libc version d961be2645b Rollup merge of #134277 - notriddle:notriddle/inline-into, r=GuillaumeGomez d235ece08bd Auto merge of #134425 - clubby789:cargo-update, r=jieyouxu 86484052651 Auto merge of #134258 - bjorn3:no_public_specialization, r=petrochenkov a430eb008a4 fix typos in the example code in the doc comments of `Ipv4Addr::from_bits()`, `Ipv6Addr::from_bits()` & `Ipv6Addr::to_bits()` 335abd37067 Improve documentation of `element_offset` and related methods 58a0a0f033f docs: Mention `spare_capacity_mut()` in `Vec::set_len` 1e8c0163933 Rollup merge of #134490 - hong9lol:typo, r=jhpratt 5f9fc8f40ed Auto merge of #134332 - Zalathar:rollup-oe23hkw, r=Zalathar 29209a70862 rustdoc-search: let From and Into be unboxed 90931c410c9 Rollup merge of #134426 - hkBst:patch-3, r=lqd ccab7f859a2 compiler & tools dependencies: Updating allocator-api2 v0.2.20 -> v0.2.21 Updating annotate-snippets v0.11.4 -> v0.11.5 Updating anyhow v1.0.93 -> v1.0.94 Updating bstr v1.11.0 -> v1.11.1 Updating chrono v0.4.38 -> v0.4.39 Updating clap v4.5.21 -> v4.5.23 Updating clap_builder v4.5.21 -> v4.5.23 Updating clap_complete v4.5.38 -> v4.5.39 Updating clap_lex v0.7.3 -> v0.7.4 Updating colored v2.1.0 -> v2.2.0 Updating console v0.15.8 -> v0.15.10 Updating crossbeam-channel v0.5.13 -> v0.5.14 Updating crossbeam-deque v0.8.5 -> v0.8.6 Updating crossbeam-utils v0.8.20 -> v0.8.21 Updating encode_unicode v0.3.6 -> v1.0.0 Updating fastrand v2.2.0 -> v2.3.0 Updating home v0.5.9 -> v0.5.11 Updating js-sys v0.3.74 -> v0.3.76 Updating libc v0.2.167 -> v0.2.168 Updating miniz_oxide v0.8.0 -> v0.8.1 Updating pest v2.7.14 -> v2.7.15 Updating pest_derive v2.7.14 -> v2.7.15 Updating pest_generator v2.7.14 -> v2.7.15 Updating pest_meta v2.7.14 -> v2.7.15 Updating redox_syscall v0.5.7 -> v0.5.8 Updating rustc-stable-hash v0.1.0 -> v0.1.1 Updating rustix v0.38.41 -> v0.38.42 Updating self_cell v1.0.4 -> v1.1.0 Updating semver v1.0.23 -> v1.0.24 Updating serde v1.0.215 -> v1.0.216 Updating serde_derive v1.0.215 -> v1.0.216 Adding thiserror v2.0.7 Adding thiserror-impl v2.0.7 Updating time v0.3.36 -> v0.3.37 Updating time-macros v0.2.18 -> v0.2.19 Updating tokio v1.41.1 -> v1.42.0 Updating wasm-bindgen v0.2.97 -> v0.2.99 Updating wasm-bindgen-backend v0.2.97 -> v0.2.99 Updating wasm-bindgen-macro v0.2.97 -> v0.2.99 Updating wasm-bindgen-macro-support v0.2.97 -> v0.2.99 Updating wasm-bindgen-shared v0.2.97 -> v0.2.99 Updating wasm-encoder v0.221.0 -> v0.221.2 Updating wasmparser v0.221.0 -> v0.221.2 Updating wast v221.0.0 -> v221.0.2 Updating wat v1.221.0 -> v1.221.2 43f555b192a Rename `elem_offset` to `element_offset` 589340bf8a3 Rollup merge of #132056 - weiznich:diagnostic_do_not_recommend_final_tests, r=compiler-errors 054027d1915 fix typo in ptr/mod.rs 4ebb52245e6 Auto merge of #133223 - zachs18:uniquerc-impls, r=Noratrieb aa5bd6ec17d Rollup merge of #134310 - tkr-sh:master, r=Noratrieb 6f9e907a02d Rollup merge of #133265 - the8472:extract-if-ranges, r=cuviper 085718d0f94 Fix typo in uint_macros.rs 792104b06bb Auto merge of #134443 - joshtriplett:use-field-init-shorthand, r=lqd,tgross35,nnethercote a49074f79e3 Stabilize `#[diagnostic::do_not_recommend]` ccbd471119c Rollup merge of #133406 - EFanZh:lock-value-accessors, r=Noratrieb 7f38bd9249a Auto merge of #130766 - clarfonthey:stable-coverage-attribute, r=wesleywiser e6221ccc914 remove obsolete comment and pub(super) visibility 3e2f2bef5ba Rollup merge of #134452 - jalil-salame:fix-lazy-cell-docs, r=tgross35 0a84af4a845 Use field init shorthand where possible 0ec3ee74059 Rollup merge of #130361 - devnexen:sock_cloexec_solaris, r=cuviper 275117be975 Rollup merge of #134202 - nnethercote:rm-existing_doc_keyword, r=GuillaumeGomez c36087fdc89 Stabilize #[coverage] attribute 2e09db085df remove bounds from vec and linkedlist ExtractIf f737117b57f fix(LazyCell): documentation of get[_mut] was wrong 36762279990 Remove `rustc::existing_doc_keyword` lint. e0d5972dbc4 Add a range argument to vec.extract_if 10055d30399 Move `doc(keyword = "while")`. c79f381f8cb Rollup merge of #134022 - shahn:doc_clarify_extend_for_tuple_version, r=tgross35 482ac626467 Remove support for specializing ToString outside the standard library 7b776b10a41 Auto merge of #134047 - saethlin:inline-fmt-rt, r=m-ou-se defc8957db2 UniqueRc: platform-specific AsFd/Handle/etc impls to mirror Rc d264b861ef3 Replace i32 by char in `split_at` & `_unchecked` 6b9a87f6cb5 Add value accessor methods to `Mutex` and `RwLock` f9d5a5459ea std::net: Solaris supports `SOCK_CLOEXEC` as well since 11.4. 752d48d9724 Rollup merge of #133986 - olishmollie:tracking-issue-127154-documentation, r=tgross35 d57e06c85f3 Correct spelling of CURRENT_RUSTC_VERSION e3531cbbb3c Rollup merge of #134179 - zachs18:align_offset_mut_ptr_doc, r=workingjubilee 525c478edc7 Reword prelude for AsyncFn stabilization 66c89ceefa1 UniqueRc: PinCoerceUnsized and DerefPure 1ac8ad94557 Add clarity to the "greater" of `VecDeque::insert` 5216be921b7 Auto merge of #134296 - matthiaskrgr:rollup-o0sxozj, r=matthiaskrgr 7716936340d Add documentation for anonymous pipe module 2198b5fa530 Stabilize async closures a147b279904 UniqueRc: comparisons and Hash c953d929206 Replace i32 by char to add clarity c2c06f91fbd Rollup merge of #134255 - bjoernager:master, r=Noratrieb f689885403f Rollup merge of #133942 - BD103:black-box-docs, r=saethlin cff172484ba UniqueRc: Add more trait impls. 1c0b879495a Rollup merge of #134254 - hermit-os:hermit-c_char, r=workingjubilee 70a1177e009 Update includes in '/library/core/src/error.rs'; 2aec00baec2 Rollup merge of #134229 - purplesyringa:provenance-docs, r=saethlin e788f7b3d9c feat: clarify how to use `black_box()` 1dd52c9e2d4 Rollup merge of #134252 - hermit-os:hermit-is_absolute, r=tgross35 bf710ada1e6 Fix building `std` for Hermit after `c_char` change dea03df7e6c Rollup merge of #134140 - compiler-errors:unsafe-binders-ast, r=oli-obk de2cb00e2a3 Fix typos in docs on provenance 0632f329d09 Fix `Path::is_absolute` on Hermit 1e3d7ef3678 Add unwrap_unsafe_binder and wrap_unsafe_binder macro operators 5866fdf5ef6 Rollup merge of #133472 - rust-wasi-web:master, r=joboet 7ed41ff0b0a Switch inline(always) in core/src/fmt/rt.rs to plain inline 394d9a6b2f1 Rollup merge of #134178 - ehuss:stabilize-2024-prelude, r=amanieu,traviscross,tgross35 9c96061c1d9 Remove consteval note from <*mut T>::align_offset docs. b59baf07f30 Rollup merge of #133456 - clubby789:cargo-update, r=ChrisDenton 1f38b0de3d7 Rollup merge of #134155 - sthibaul:unsafe_op_in_unsafe_fn, r=tgross35 a8a0f6a754f Stabilize the Rust 2024 prelude 6cddada3308 Rollup merge of #134116 - RalfJung:const_nonnull_new, r=jhpratt cef207f79bc Rollup merge of #133859 - bjorn3:move_tests_to_alloctests, r=tgross35 35fd88c392b Forbid unsafe_op_in_unsafe_fn in hurd-specific os and sys files 77686a282e8 Rollup merge of #134100 - eholk:noop-rustc-const-stable, r=dtolnay 03b2eb79772 Rollup merge of #122003 - mati865:gnullvm-build-libunwind, r=petrochenkov 9ef3c0d479b Move some alloc tests to the alloctests crate e3792e78842 Auto merge of #134177 - matthiaskrgr:rollup-hgp8q60, r=matthiaskrgr a3f6e0a59e1 control libunwind linkage mode via `crt-static` on gnullvm targets c765a343d3d Rollup merge of #134079 - tbu-:pr_doc_x…
This is a draft because we need some additional setting for the Emscripten target to select between the old exception handling and the new exception handling. I don't know how to add a setting like that, would appreciate advice from Rust folks. We could maybe choose to use the new exception handling if
Ctarget-feature=+exception-handling
is passed? I tried this but I get errors from llvm so I'm not doing it right.cc @kleisauke @kripken @sbc100 @workingjubilee @alexcrichton