-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Improve Ord
violation help
#128273
Improve Ord
violation help
#128273
Conversation
The new sort implementations have the ability to detect Ord violations in many cases. This commit improves the message in a way that should help users realize what went wrong in their program.
…ble* - Move panic information into # Panics section - Fix mentions of T: Ord that should be compare - Add missing information
Thanks for the followup, this will be great to have. For all the uses of "total order", could we link somewhere? Either the Wikipedia page, or link somewhere on the Maybe |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I already anticipate someone is going to read this note and say "but that can't happen because K is Ord and Ord is a total order". This should be clearer about that case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, noticed some typos also.
Good idea, currently the |
- Use if the implementation of [`Ord`] for `T` language - Link to total order wiki page - Rework total order help and examples - Improve language to be more precise and less prone to misunderstandings. - Fix usage of `sort_unstable_by` in `sort_by` example - Fix missing author mention - Use more consistent example input for sort - Use more idiomatic assert_eq! in examples - Use more natural "comparison function" language instead of "comparator function"
Changes since last review:
|
There are something like 10 places that document sort usage, so chances are I missed something, please carefully review for typos and mistakes. |
I've also started making changes to the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good. I noticed some remaining nits. They're just typos or non-blocking concerns because the original wording here was signed-off-on by libs already and they don't necessarily relate directly to the concern of the "total order" requirement.
@workingjubilee thanks for the detailed review so far. |
Okie dokie! I think that everything else is stuff that we can defer to later. Thank you everyone. @bors r+ |
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#122792 (Stabilize `min_exhaustive_patterns`) - rust-lang#124944 (On trait bound mismatch, detect multiple crate versions in dep tree) - rust-lang#128273 (Improve `Ord` violation help) - rust-lang#128406 (implement BufReader::peek) - rust-lang#128539 (Forbid unused unsafe in vxworks-specific std modules) - rust-lang#128692 (Add a triagebot mention for `library/Cargo.lock`) - rust-lang#128710 (Don't ICE when getting an input file name's stem fails) r? `@ghost` `@rustbot` modify labels: rollup
…elp, r=workingjubilee Improve `Ord` violation help Recent experience in rust-lang#128083 showed that the panic message when an Ord violation is detected by the new sort implementations can be confusing. So this PR aims to improve it, together with minor bug fixes in the doc comments for sort*, sort_unstable* and select_nth_unstable*. Is it possible to get these changes into the 1.81 release? It doesn't change behavior and would greatly help when users encounter this panic for the first time, which they may after upgrading to 1.81. Tagging ``@orlp``
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#125048 (PinCoerceUnsized trait into core) - rust-lang#128273 (Improve `Ord` violation help) - rust-lang#128406 (implement BufReader::peek) - rust-lang#128539 (Forbid unused unsafe in vxworks-specific std modules) - rust-lang#128687 (interpret: refactor function call handling to be better-abstracted) - rust-lang#128692 (Add a triagebot mention for `library/Cargo.lock`) - rust-lang#128710 (Don't ICE when getting an input file name's stem fails) - rust-lang#128718 (Consider `cfg_attr` checked by `CheckAttrVisitor`) r? `@ghost` `@rustbot` modify labels: rollup
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#125048 (PinCoerceUnsized trait into core) - rust-lang#128273 (Improve `Ord` violation help) - rust-lang#128406 (implement BufReader::peek) - rust-lang#128539 (Forbid unused unsafe in vxworks-specific std modules) - rust-lang#128687 (interpret: refactor function call handling to be better-abstracted) - rust-lang#128692 (Add a triagebot mention for `library/Cargo.lock`) - rust-lang#128710 (Don't ICE when getting an input file name's stem fails) - rust-lang#128718 (Consider `cfg_attr` checked by `CheckAttrVisitor`) r? `@ghost` `@rustbot` modify labels: rollup
@bors r- |
While I can't reproduce the issue with |
@bors r+ |
…llaumeGomez Rollup of 8 pull requests Successful merges: - rust-lang#128273 (Improve `Ord` violation help) - rust-lang#128807 (run-make: explaing why fmt-write-bloat is ignore-windows) - rust-lang#128903 (rustdoc-json-types `Discriminant`: fix typo) - rust-lang#128905 (gitignore: Add Zed and Helix editors) - rust-lang#128908 (diagnostics: do not warn when a lifetime bound infers itself) - rust-lang#128909 (Fix dump-ice-to-disk for RUSTC_ICE=0 users) - rust-lang#128910 (Differentiate between methods and associated functions in diagnostics) - rust-lang#128923 ([rustdoc] Stop showing impl items for negative impls) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#128273 - Voultapher:improve-ord-violation-help, r=workingjubilee Improve `Ord` violation help Recent experience in rust-lang#128083 showed that the panic message when an Ord violation is detected by the new sort implementations can be confusing. So this PR aims to improve it, together with minor bug fixes in the doc comments for sort*, sort_unstable* and select_nth_unstable*. Is it possible to get these changes into the 1.81 release? It doesn't change behavior and would greatly help when users encounter this panic for the first time, which they may after upgrading to 1.81. Tagging `@orlp`
I see this PR hasn't made its way into the beta yet, what is needed for that? |
Patience. Merging into beta is a manual process. This PR is labelled as |
[beta] backports and bump stage0 - Disable jump threading of float equality rust-lang#128271 - Normalize when equating `dyn` tails in MIR borrowck rust-lang#128694 - Improve `Ord` violation help rust-lang#128273 - bump stage0 to stable 1.80.1 - Revert rust-lang#125915 on beta rust-lang#128760 - derive(SmartPointer): register helper attributes rust-lang#128925 - Fix bug in `Parser::look_ahead`. rust-lang#128994 r? cuviper
febaf22 Rollup merge of rust-lang#129592 - saethlin:core-cfg-test, r=tgross35 77a1318 Rollup merge of rust-lang#129588 - hermit-os:sleep-micros, r=workingjubilee 12fe23b Rollup merge of rust-lang#129539 - oconnor663:poll_link, r=tgross35 864e465 Rollup merge of rust-lang#129377 - chorman0773:unbounded-shifts-impl, r=scottmcm d958260 Auto merge of rust-lang#129595 - matthiaskrgr:rollup-4udn7nn, r=matthiaskrgr 8dd3363 Remove cfg(test) from library/core cd554e2 Rollup merge of rust-lang#129544 - mu001999-contrib:dead-code/clean, r=compiler-errors ff769ee Rollup merge of rust-lang#129525 - notriddle:notriddle/fake-variadic-tuple-array, r=GuillaumeGomez 4d22c1c Auto merge of rust-lang#129488 - saethlin:alignment-precondition, r=workingjubilee c688def pal/hermit: saturate `usleep` microseconds at `u64::MAX` 8ea71ae Auto merge of rust-lang#129563 - matthiaskrgr:rollup-t6bai2d, r=matthiaskrgr fdb5fc1 pal/hermit: correctly round up microseconds in `Thread::sleep` 22ec897 link to Future::poll from the Poll docs a994fbb Rollup merge of rust-lang#129487 - GrigorenkoPV:repr_transparent_external_private_fields, r=compiler-errors 3a33922 Rollup merge of rust-lang#129416 - workingjubilee:partial-move-from-stabilization, r=dtolnay 3a8de95 Rollup merge of rust-lang#129091 - RalfJung:box_as_ptr, r=Amanieu 4de4deb Auto merge of rust-lang#129295 - Zalathar:profiler-builtins, r=Kobzol 8dafd33 Auto merge of rust-lang#129521 - matthiaskrgr:rollup-uigv77m, r=matthiaskrgr d9e489b Removes dead code from the compiler c14cf57 Rollup merge of rust-lang#129481 - scottmcm:update-cb, r=tgross35 acf6f03 Rollup merge of rust-lang#129449 - coolreader18:pin-as_deref_mut-signature, r=dtolnay 112ebc4 Rollup merge of rust-lang#128735 - jieyouxu:pr-120176-revive, r=cjgillot 49aa496 rustdoc: clean up tuple <-> primitive conversion docs 0fe3746 Rollup merge of rust-lang#129501 - RalfJung:miri-rust-backtrace, r=Noratrieb 7d5cf38 Rollup merge of rust-lang#129500 - fee1-dead-contrib:fxrel, r=compiler-errors e91d825 Rollup merge of rust-lang#129323 - Urgau:ptr_fn_addr_eq, r=Mark-Simulacrum f647079 Rollup merge of rust-lang#128596 - RalfJung:const_fn_floating_point_arithmetic, r=nnethercote f965950 New `#[rustc_pub_transparent]` attribute a6ea125 panicking: improve hint for Miri's RUST_BACKTRACE behavior a437005 Build `library/profiler_builtins` from `ci-llvm` if appropriate 693477a remove invalid `TyCompat` relation for effects 82fc74f library: Move unstable API of new_uninit to new features 3ee2e18 Enable Alignment::new_unchecked precondition check 0803686 Change `f16` doctests in core to run on x86-64 linux 9359a12 Update `compiler_builtins` to `0.1.121` da02e8b Enable `f16` tests on x86 and x86-64 976fb4a Move into_inner_unchecked back to the bottom of the impl block 2741e8d Put Pin::as_deref_mut in impl Pin<Ptr> f670207 Auto merge of rust-lang#129464 - GuillaumeGomez:rollup-ckfqd7h, r=GuillaumeGomez 5bf661c Rollup merge of rust-lang#129276 - eduardosm:stabilize-char_indices_offset, r=Amanieu e2614f2 Rollup merge of rust-lang#129400 - Amjad50:update-compiler-builtins, r=tgross35 2c06146 Rollup merge of rust-lang#127623 - lolbinarycat:fix_remove_dir_all, r=Amanieu eb747e5 Check that `library/profiler_builtins` actually found some source files fe33d2c fix: fs::remove_dir_all: treat ENOENT as success 3fd591e feat(core): Make `unbounded_shl{l,r}` unstably const and remove `rustc_allow_const_fn_unstable` 2168ce3 Auto merge of rust-lang#129398 - matthiaskrgr:rollup-50l01ry, r=matthiaskrgr 12944c7 Update `compiler_builtins` to `0.1.120` 7496478 stabilize const_fn_floating_point_arithmetic 6f534f9 Rollup merge of rust-lang#129382 - tgross35:once-cell-const-into-inner, r=Noratrieb 2535017 Rollup merge of rust-lang#129376 - ChaiTRex:assert_unsafe_precondition_check_language_ub, r=workingjubilee,the8472 4ec19af Rollup merge of rust-lang#129374 - ChaiTRex:digit_unchecked_assert_unsafe_precondition, r=scottmcm 024ec3c Rollup merge of rust-lang#128432 - g0djan:godjan/wasi_prohibit_implicit_unsafe, r=tgross35 f671c11 Auto merge of rust-lang#129365 - matthiaskrgr:rollup-ebwx6ya, r=matthiaskrgr 5299ef1 fix(core): Use correct operations/values in `unbounded_shr` doctests 8423006 chore: `x fmt` cbe7338 fix(core): Add `#![feature(unbounded_shifts)]` to doctests for `unbounded_shr`/`unbounded_shl` 863123b Add `const_cell_into_inner` to `OnceCell` 6fd5393 chore: `x fmt` and hopefully fix the tidy issue 9d2bb97 Change `assert_unsafe_precondition` docs to refer to `check_language_ub` 32bd5df chore: Also format the control flow 5f8cf71 Manually format functions and use `rhs` instead of `v` from my CE testing 700af56 feat(core): Add implementations for `unbounded_shl`/`unbounded_shr` a9ad57e Use `assert_unsafe_precondition!` in `AsciiChar::digit_unchecked` 77bd65f Rollup merge of rust-lang#129321 - krtab:float_sum, r=workingjubilee cc21978 Rollup merge of rust-lang#129232 - ivmarkov:master, r=workingjubilee c9cf844 Rollup merge of rust-lang#127945 - tgross35:debug-more-non-exhaustive, r=Noratrieb d37ebfe Rollup merge of rust-lang#129332 - cuviper:cstr-cast, r=compiler-errors 6d01ed8 Rollup merge of rust-lang#129312 - tbu-:pr_str_not_impl_error, r=Noratrieb 93319c8 Fix stability attribute of `impl !Error for &str` 7f8bdd5 Auto merge of rust-lang#126556 - saethlin:layout-precondition, r=joboet 9e9141f Auto merge of rust-lang#128866 - scottmcm:update-stdarch, r=tgross35 d47cfba Update stdarch submodule b507a8b Try to golf down the amount of code in Layout 32b574e Avoid extra `cast()`s after `CStr::as_ptr()` 9d4113f Rollup merge of rust-lang#129294 - scottmcm:stabilize-repeat-n, r=Noratrieb 62d240d Implement `ptr::fn_addr_eq` 529e33a Change neutral element of <fNN as iter::Sum> to neg_zero 126935f Stabilize `iter::repeat_n` 91439ce Auto merge of rust-lang#129226 - RalfJung:libc, r=Mark-Simulacrum bef7be0 Add a precondition check for Layout::from_size_align_unchecked a55ab85 Stabilize feature `char_indices_offset` 7f45dcf library: bump libc dependency ebe99f3 Rollup merge of rust-lang#128902 - evanj:evan.jones/env-var-doc, r=workingjubilee 8bdd95b soft-deprecate the addr_of macros 23b0aad code review improvements 0b0dad4 Fix for issue rust-lang#129212 for the ESP-IDF bd7aa57 Auto merge of rust-lang#126877 - GrigorenkoPV:clone_to_uninit, r=dtolnay d3c08f8 Auto merge of rust-lang#128598 - RalfJung:float-comments, r=workingjubilee dc5fed5 Auto merge of rust-lang#106943 - mina86:exact_size_take_repeat, r=dtolnay 88927ac Auto merge of rust-lang#116528 - daxpedda:stabilize-ready-into-inner, r=dtolnay 9952947 Rollup merge of rust-lang#129161 - dtolnay:spawnunck, r=Noratrieb db3abec Rollup merge of rust-lang#129086 - slanterns:is_none_or, r=dtolnay 44a558d Stabilize std::thread::Builder::spawn_unchecked 5c553c4 float to/from bits and classify: update comments regarding non-conformant hardware 9704e2d Rollup merge of rust-lang#128064 - ijackson:noop-waker-doc, r=workingjubilee 0497f0c Add cautionary paragraph about noop wakers. 16dd426 Rollup merge of rust-lang#128946 - orlp:faster-ip-hash, r=joboet 383c4db Rollup merge of rust-lang#128925 - dingxiangfei2009:smart-ptr-helper-attr, r=compiler-errors ba3a942 Rollup merge of rust-lang#125970 - RalfJung:before_exec, r=m-ou-se 0dbf8cf Rollup merge of rust-lang#128954 - zachs18:fromresidual-no-default, r=scottmcm 4f09599 Rollup merge of rust-lang#128570 - folkertdev:stabilize-asm-const, r=Amanieu b6c9e44 add Box::as_ptr and Box::as_mut_ptr methods 23d1309 CommandExt::before_exec: deprecate safety in edition 2024 9858d49 stabilize `is_none_or` fd2b339 Auto merge of rust-lang#129060 - matthiaskrgr:rollup-s72gpif, r=matthiaskrgr 3b8aab7 Rollup merge of rust-lang#129001 - cblh:fix/128713, r=Noratrieb 16edf69 Rollup merge of rust-lang#128873 - ChrisDenton:windows-targets, r=Mark-Simulacrum 0199b00 Rollup merge of rust-lang#128759 - notriddle:notriddle/spec-to-string, r=workingjubilee,compiler-errors c6dc243 stabilize `asm_const` b4bfc21 Rollup merge of rust-lang#129034 - henryksloan:coroutine-must-use, r=joboet b56fdcb Rollup merge of rust-lang#127857 - tbu-:pr_deprecated_safe_todo, r=petrochenkov 77f462d Rollup merge of rust-lang#122884 - mzabaluev:pow-remove-exit-branch, r=Amanieu 0a6a74b Reduce merged doctest source code size a83dde6 Mark location doctest as standalone since file information will not work in merged doctest file 7334c71 Auto merge of rust-lang#129046 - matthiaskrgr:rollup-9x4xgak, r=matthiaskrgr 9ed7210 Rollup merge of rust-lang#128745 - dtolnay:spawnunchecked, r=workingjubilee c39d90e Rollup merge of rust-lang#128655 - joboet:play_with_the_dice, r=ChrisDenton f81c96a `#[deprecated_safe_2024]`: Also use the `// TODO:` hint in the compiler error 23a1968 Allow to customize `// TODO:` comment for deprecated safe autofix 37017c0 Auto merge of rust-lang#128962 - devnexen:fs_get_mode_haiku, r=workingjubilee 8a2671a Revert to original loop for const pow exponents c5e8189 Auto merge of rust-lang#128742 - RalfJung:miri-vtable-uniqueness, r=saethlin ac682f1 Add must_use attribute to Coroutine trait 658904d chore(lib): fmt core::fmt::Formatter's write_fmt method 7eb7376 trying common codepath for every unixes 5fabf93 std::fs: get_mode implementation for haiku. e3da824 Rollup merge of rust-lang#129017 - its-the-shrimp:core_fmt_from_fn, r=Noratrieb b247d9a derive(SmartPointer): register helper attributes aa85448 Explicitly specify type parameter on FromResidual impls in stdlib. 262a4f6 std::fmt::FormatterFn -> std::fmt::FromFn ceceae3 Rollup merge of rust-lang#128632 - joboet:dont_overwrite_style, r=Amanieu e8f7afe Rollup merge of rust-lang#128149 - RalfJung:nontemporal_store, r=jieyouxu,Amanieu,Jubilee 7dd2083 chore(lib): Enhance documentation for core::fmt::Formatter's write_fmt method 048efd0 ignore some vtable/fn ptr equality tests in Miri, their result is not fully predictable a367a12 std: use `/scheme/rand` on Redox 1ca6b42 std: do not overwrite style in `get_backtrace_style` 9147777 Auto merge of rust-lang#128862 - cblh:fix/128855, r=scottmcm 56e1afe Auto merge of rust-lang#126793 - saethlin:mono-rawvec, r=scottmcm ec7a585 Do not use unnecessary endian conversion. f48facf Rollup merge of rust-lang#128882 - RalfJung:local-waker-will-wake, r=cuviper b581949 Rollup merge of rust-lang#120314 - mina86:i, r=Mark-Simulacrum 451feca Fix stability annotation and expand comment 2e34ac3 Hash Ipv*Addr as an integer b8b61e1 Auto merge of rust-lang#128927 - GuillaumeGomez:rollup-ei2lr0f, r=GuillaumeGomez 44f5b4f Rollup merge of rust-lang#128273 - Voultapher:improve-ord-violation-help, r=workingjubilee 3d7afa0 Update std and compiler 971df1c Stabilize `min_exhaustive_patterns` c37c666 Add an optimizer hint for the capacity that with_capacity_in returns c8cbd5c Hoist IS_ZST check out of RawVecInner::from_*_in e843f71 Polymorphize RawVec dc39cbf core: optimise Debug impl for ascii::Char 9668691 doc: std::env::var: Returns None for names with '=' or NUL byte 5d5d8bc Rollup merge of rust-lang#128859 - MinxuanZ:mips-sig, r=Amanieu 825def0 Rollup merge of rust-lang#128817 - biabbas:vxworks_update, r=tgross35 6e933a8 make LocalWaker::will_wake consistent with Waker::will_wake 118c712 Fix linkchecker issue b1460b9 Exclude windows-targets from the workspace a3a6a98 Add windows-targets crate to std's sysroot f74940d Rollup merge of rust-lang#128824 - GuillaumeGomez:update-compiler-builtins, r=Amanieu 39b1eaf VxWorks: Add safety comment for vxCpuEnabledGet 8b0a25d fix: Ensure `Guard`'s `drop` method is removed at `opt-level=s` for `Copy` types c54958c delete space dadbd58 fix format 7c34ebf [SPARC] fix the name of signal 19 in sparc arch b75648a [MIPS] fix the name of signal 19 in mips 3840b09 Rollup merge of rust-lang#128818 - RalfJung:std-miri-floats, r=tgross35 d03bb5e Rollup merge of rust-lang#128640 - RalfJung:rwlock-macos-miri, r=joboet 7680a3c Rollup merge of rust-lang#128749 - tgross35:float-inline, r=scottmcm 9df61ad Rollup merge of rust-lang#128306 - WiktorPrzetacznik:WiktorPrzetacznik-nonnull-alignoffset-update, r=Amanieu 39860ad Update compiler-builtins version to 0.1.118 4281185 std float tests: special-case Miri in feature detection 4d6b36a Vxworks: Extern taskNameSet and fix build errors e24a6ca rwlock: disable 'frob' test in Miri on macOS c21ba97 Fix VxWorks available parallelism: Move nonzero::uncheked into unsafe block 2495418 Rollup merge of rust-lang#128800 - clarfonthey:core-pattern-type, r=compiler-errors 79cd72a Rollup merge of rust-lang#128691 - tgross35:update-builtins, r=Amanieu 8f84015 Add tracking issue to core-pattern-type b8f7f38 Stabilize `Ready::into_inner()` 62ccdeb Rollup merge of rust-lang#128261 - clarfonthey:iter-default, r=dtolnay b4e5330 alloc: make `to_string_str!` a bit less complex ec74467 Mark `{f32,f64}::{next_up,next_down,midpoint}` inline b90a026 Rollup merge of rust-lang#128766 - Monadic-Cat:patch-1, r=tgross35 5d7906c Rollup merge of rust-lang#128417 - tgross35:f16-f128-math, r=dtolnay 83d1d16 Trivial grammar fix in const keyword docs 97384fa Update `compiler-builtins` to 0.1.117 6dc79bb Rollup merge of rust-lang#128751 - devnexen:vxworks_set_thread_name, r=tgross35 432425d Rollup merge of rust-lang#128539 - biabbas:deny_unsafe, r=workingjubilee 1bd5338 Rollup merge of rust-lang#128406 - lolbinarycat:bufreader_peek, r=Mark-Simulacrum e20aa64 Rollup merge of rust-lang#125048 - dingxiangfei2009:stable-deref, r=amanieu bc13c6c alloc: add ToString specialization for `&&str` 14fe723 std::thread: set_name implementation proposal for vxWorks. 67fa603 Remove unused lifetime parameter from spawn_unchecked 4a3da12 Add a special case for CStr/CString in the improper_ctypes lint 51ec2bb implement BufReader::peek e6aede2 nontemporal_store: make sure that the intrinsic is truly just a hint a300df7 WASI fixing unsafe_op_in_unsafe_fn for std::{os, sys} 59436fc std: refactor UNIX random data generation 6fafc6b Apply review comments to PartialOrd section 7850a64 Forbid unsafe_op_in_unsafe_fn in vxworks specific os and sys files e844eff Add a disclaimer about x86 `f128` math functions 21d297b Update comments for `{f16, f32, f64, f128}::midpoint` ad27d08 Add `core` functions for `f16` and `f128` that require math routines c6407b0 Add math functions for `f16` and `f128` d9b1de5 Add math intrinsics for `f16` and `f128` 3c1586b Hide internal sort module 2188712 Apply review comments 2ebe00a PinCoerceUnsized trait into core 569ab6a CloneToUninit: use a private specialization trait 26874cc Sparkle some attributes over `CloneToUninit` stuff e8c3718 impl CloneToUninit for Path and OsStr ef8c591 impl CloneToUninit for str and CStr 65c6173 Update NonNull::align_offset quarantees b014b0d Improve panic sections for sort*, sort_unstable* and select_nth_unstable* 9bcfe84 Improve panic message and surrounding documentation for Ord violations 7e55abb Okay, I guess I have to give these a different feature name bdc18e2 impl Default for collection iterators that don't already have it 971aa37 LocalWaker docs: Make long-ago omitted but probably intended changes c4fdac9 Docs for Waker and LocalWaker: Add cross-refs in comment 9c299bc Implement `debug_more_non_exhaustive` b405024 Make use of raw strings in `core::fmt::builders` 20e64bd Use is_val_statically_known to optimize pow 05ee322 Explicitly unroll integer pow for small exponents 4cfe24a Optimize integer pow by removing exit branch 7c219da Implement DoubleEnded and ExactSize for Take<Repeat> and Take<RepeatWith> git-subtree-dir: library git-subtree-split: febaf22
4f47132 Auto merge of rust-lang#129941 - BoxyUwU:bump-boostrap, r=albertlarsan68 fd0bc94 Adjust doc comment of Condvar::wait_while 2699de6 Rollup merge of rust-lang#129963 - rjooske:fix/inaccurate_to_string_lossy_doc, r=workingjubilee cde8145 Auto merge of rust-lang#129999 - matthiaskrgr:rollup-pzr9c8p, r=matthiaskrgr ab4b4f8 Rollup merge of rust-lang#129947 - LiterallyVoid:duration-docs-digit-separators, r=tgross35 3e7e6cd Rollup merge of rust-lang#129653 - RalfJung:addr-of-read-only, r=scottmcm e51a0bc Rollup merge of rust-lang#129938 - chancancode:patch-1, r=thomcc 349f8d5 update cfgs 181dc26 Rollup merge of rust-lang#129919 - kevinmehall:waker-getters, r=dtolnay 3d2a91f Rollup merge of rust-lang#127021 - thesummer:1-add-target-support-for-rtems-arm-xilinx-zedboard, r=tgross35 25891c8 Rollup merge of rust-lang#101339 - the8472:ci-randomize-debug, r=Mark-Simulacrum eb47468 fix: correct {Path,OsStr}::to_string_lossy() docs 7697231 docs: add digit separators in `Duration` examples 9ed92df replace placeholder version 00e12f7 Update marker.rs 5de059f Update marker.rs 72e79f0 Update marker.rs 870dfed Update marker.rs de72cd3 Elaborate on deriving vs implementing `Copy` fee6300 More robust extension checking ae90e45 Port std library to RTEMS c313c07 Rollup merge of rust-lang#129916 - tshepang:basic-usage, r=ChrisDenton c501959 Rollup merge of rust-lang#129913 - saethlin:l4re-read-buf, r=Noratrieb 83524b9 Rollup merge of rust-lang#129885 - cuishuang:master, r=scottmcm e41afdc Rollup merge of rust-lang#129800 - ChrisDenton:remove-dir-all2, r=Amanieu 851f5b6 Add `Waker::new` and `LocalWaker::new` a2b8bb8 Stabilize waker_getters 2ec266b Move the `data` and `vtable` methods from `RawWaker` to `Waker` 562fdce process.rs: remove "Basic usage" text where not useful 9b3c3fe Rollup merge of rust-lang#129907 - saethlin:solid-io-error, r=WaffleLapkin 02ceceb Rollup merge of rust-lang#129892 - oskgo:clarify-slice-from-raw, r=RalfJung ccc294c Rollup merge of rust-lang#129890 - alex:patch-1, r=workingjubilee 6d0e687 Rollup merge of rust-lang#129856 - RalfJung:compiler_fence, r=thomcc 0ccc851 Rollup merge of rust-lang#129748 - RalfJung:box-validity, r=workingjubilee 3761849 Add missing read_buf stub for x86_64-unknown-l5re-uclibc 3b8ab5a Fix compile error in solid's remove_dir_all e14b9f3 clarify language around non-null ptrs in slice::raw 9a76abd Remove stray word in a comment 1dd630f Auto merge of rust-lang#129873 - matthiaskrgr:rollup-bv849ud, r=matthiaskrgr 2649882 chore: remove repetitive words 7fd784e Rollup merge of rust-lang#129804 - ranger-ross:fixed-documentation-typos, r=Noratrieb e4e9f6b Rollup merge of rust-lang#129793 - lolbinarycat:doc-missing-newlines, r=workingjubilee c4aa66a Auto merge of rust-lang#129063 - the8472:cold-opt-size, r=Amanieu 4e3dbee add extra linebreaks so rustdoc can identify the first sentence e00784f compiler_fence documentation: emphasize synchronization, not reordering 8d8dbe9 tweak wording regarding Box validity 065844b Auto merge of rust-lang#127897 - nyurik:add-qnx-70-target, r=saethlin 759399b Rollup merge of rust-lang#129832 - eduardosm:stray-dot, r=jhpratt 60f37e4 Rollup merge of rust-lang#129207 - GrigorenkoPV:elided-is-named, r=cjgillot 68e6537 Rollup merge of rust-lang#128641 - Konippi:standardize-duplicate-processes-in-parser, r=scottmcm b93e3ab Rollup merge of rust-lang#128495 - joboet:more_memcmp, r=scottmcm 64c1db2 when -Zrandomize-layout is enabled disable alloc test testing internal struct sizes d432698 Auto merge of rust-lang#129831 - matthiaskrgr:rollup-befq6zx, r=matthiaskrgr 77cf0ba Remove stray dot in `std::char::from_u32_unchecked` documentation ef033b0 Rollup merge of rust-lang#129826 - Alcaro:patch-1, r=workingjubilee 2ad03e0 Rollup merge of rust-lang#129650 - Zalathar:profiler-builtins, r=Mark-Simulacrum c33b3df Update mod.rs 24ed1c1 Rollup merge of rust-lang#129785 - RalfJung:miri-sync, r=RalfJung 50681ab Rollup merge of rust-lang#129730 - RalfJung:float-arithmetic, r=workingjubilee 0402bb1 Fix `elided_named_lifetimes` in code 667d060 Move remove_dir_all impl into a module ae18edf Rollup merge of rust-lang#129754 - alexcrichton:fix-wasi-long-sleep, r=workingjubilee 9138bd1 Rollup merge of rust-lang#129675 - lolbinarycat:bufreader_peek_unsized, r=workingjubilee 83cadd0 Rollup merge of rust-lang#129642 - workingjubilee:bump-backtrace-fc37b22, r=workingjubilee d9af971 Rollup merge of rust-lang#129640 - saethlin:unignore-android-in-alloc, r=tgross35 6b12a63 Fixed more typos in library/core 40f9251 Fixed typos in btree map docs 628be3d Fixed some typos in the standard library documentation/comments 21e893e enumerate the two parts of the NaN rules 081353c add hyphen in floating-point c664843 Squashed `aarch64_unknown_nto_qnx700` support 5c4c81a Merge from rustc a374647 Try latest backtrace 2c75dd8 wasi: Fix sleeping for `Duration::MAX` 374229a Rollup merge of rust-lang#128166 - ChaiTRex:isqrt, r=tgross35 f0dce76 Rollup merge of rust-lang#123940 - kornelski:remove-derived-debug, r=Urgau 228ec9e Box validity: update for new zero-sized rules 93a72da f32 docs: define 'arithmetic' operations 1bc188f Merge from rustc c44af61 Speed up `checked_isqrt` and `isqrt` methods 2139651 Improve `isqrt` tests and add benchmarks 7c1560f Rollup merge of rust-lang#129715 - Amjad50:update-compiler-builtins, r=tgross35 d2a001d Rollup merge of rust-lang#129683 - RalfJung:copysign, r=thomcc 8753a35 Rollup merge of rust-lang#129673 - matthewpipie:arc-weak-debug-trait, r=dtolnay 3e1f63a Rollup merge of rust-lang#129401 - workingjubilee:partial-initialization-of-stabilization, r=dtolnay,joboet cd59153 Rollup merge of rust-lang#129378 - goffrie:patch-3, r=ChrisDenton 6d31b6d Rollup merge of rust-lang#128192 - mrkajetanp:feature-detect, r=Amanieu 60fd9c9 Update `compiler_builtins` to `0.1.123` 86c924f fmt-debug option 8623fa4 allow BufReader::peek to be called on unsized types b1a56b5 Auto merge of rust-lang#129691 - matthiaskrgr:rollup-owlcr3m, r=matthiaskrgr 39ad6a9 Rollup merge of rust-lang#129668 - coolreader18:fix-pin-set-regr, r=dtolnay 5a4fe40 Rollup merge of rust-lang#129657 - jswrenn:transmute-name, r=compiler-errors 1d44fab Rollup merge of rust-lang#129551 - RalfJung:ub-checks-fallback, r=saethlin b0fee98 Rollup merge of rust-lang#129480 - lolbinarycat:euclid-docs, r=joboet c8d3265 Enable some ilog2 tests as well da08ef4 Re-enable android tests/benches in alloc bfbe13e Auto merge of rust-lang#129589 - saethlin:improve-panic-immediate-abort, r=tgross35 89021c8 copysign with sign being a NaN is non-portable ed66a11 addr_of on places derived from raw pointers should preserve permissions 1729898 Add fmt::Debug to sync::Weak<T, A> 927a6da Fix Pin::set bounds regression 9876bd1 library: Stabilize new_uninit for Box, Rc, and Arc a0ea69f Rollup merge of rust-lang#129652 - RalfJung:ptr-to-ref, r=traviscross c7cbb41 Rollup merge of rust-lang#129645 - beetrees:fix-float-docs, r=tgross35 04eabb5 Rollup merge of rust-lang#129581 - RalfJung:exit, r=joshtriplett 33e2d7e safe transmute: Rename `BikeshedIntrinsicFrom` to `TransmuteFrom` 72c676f Auto merge of rust-lang#128134 - joboet:move_pal_alloc, r=cupiver c108af0 fix Pointer to reference conversion docs 1933103 clarify that addr_of creates read-only pointers 4f6b814 rustc_target: Add SME aarch64 features 012bb44 rustc_target: Add various aarch64 features 4dc5b67 std: move allocators to `sys` 264fa88 Don't skip nonexistent source files 5298b52 Add `cargo::rerun-if-changed` directives for source directories 5defa79 Always include `WindowsMMap.c` in the list of source files 91d2ecf Sort the list of source files cb468d7 Remove `InstrProfilingBiasVar.c` from the list of source files 0e0134f Use helper functions to read environment variables a628540 Rollup merge of rust-lang#129559 - RalfJung:float-nan-semantics, r=thomcc 00c8f98 Rollup merge of rust-lang#128731 - RalfJung:simd-shuffle-vector, r=workingjubilee 6d3344f Update old comment referring to `libcompiler_builtins` 6d8a1f6 Reflow a couple of paragraphs in floating-point primitive docs 8834d35 Fix typos in floating-point primitive type docs 54c986a Bump backtrace to rust-lang/backtrace@fc37b22 932cbd4 Rollup merge of rust-lang#129032 - jswrenn:transmute-method, r=compiler-errors 28a983d Rollup merge of rust-lang#128157 - lolbinarycat:unify-ptr-ref-docs, r=cuviper d1e21bd Apply suggestions from code review febaf22 Rollup merge of rust-lang#129592 - saethlin:core-cfg-test, r=tgross35 77a1318 Rollup merge of rust-lang#129588 - hermit-os:sleep-micros, r=workingjubilee 12fe23b Rollup merge of rust-lang#129539 - oconnor663:poll_link, r=tgross35 864e465 Rollup merge of rust-lang#129377 - chorman0773:unbounded-shifts-impl, r=scottmcm 07cfc6a also update copysign docs acaef60 move per-target NaN info into a table 854ba7e float types: document NaN bit pattern guarantees d958260 Auto merge of rust-lang#129595 - matthiaskrgr:rollup-4udn7nn, r=matthiaskrgr 8dd3363 Remove cfg(test) from library/core cd554e2 Rollup merge of rust-lang#129544 - mu001999-contrib:dead-code/clean, r=compiler-errors ff769ee Rollup merge of rust-lang#129525 - notriddle:notriddle/fake-variadic-tuple-array, r=GuillaumeGomez 4d22c1c Auto merge of rust-lang#129488 - saethlin:alignment-precondition, r=workingjubilee c688def pal/hermit: saturate `usleep` microseconds at `u64::MAX` 8ea71ae Auto merge of rust-lang#129563 - matthiaskrgr:rollup-t6bai2d, r=matthiaskrgr 46eff20 Tweak some attributes to improve panic_immediate_abort fdb5fc1 pal/hermit: correctly round up microseconds in `Thread::sleep` b392703 exit: explain our expectations for the exit handlers registered in a Rust program 22ec897 link to Future::poll from the Poll docs a994fbb Rollup merge of rust-lang#129487 - GrigorenkoPV:repr_transparent_external_private_fields, r=compiler-errors 3a33922 Rollup merge of rust-lang#129416 - workingjubilee:partial-move-from-stabilization, r=dtolnay 3a8de95 Rollup merge of rust-lang#129091 - RalfJung:box_as_ptr, r=Amanieu 4de4deb Auto merge of rust-lang#129295 - Zalathar:profiler-builtins, r=Kobzol 0872cf3 ub_checks intrinsics: fall back to cfg(ub_checks) 8dafd33 Auto merge of rust-lang#129521 - matthiaskrgr:rollup-uigv77m, r=matthiaskrgr d9e489b Removes dead code from the compiler c14cf57 Rollup merge of rust-lang#129481 - scottmcm:update-cb, r=tgross35 acf6f03 Rollup merge of rust-lang#129449 - coolreader18:pin-as_deref_mut-signature, r=dtolnay 112ebc4 Rollup merge of rust-lang#128735 - jieyouxu:pr-120176-revive, r=cjgillot 49aa496 rustdoc: clean up tuple <-> primitive conversion docs 0fe3746 Rollup merge of rust-lang#129501 - RalfJung:miri-rust-backtrace, r=Noratrieb 7d5cf38 Rollup merge of rust-lang#129500 - fee1-dead-contrib:fxrel, r=compiler-errors e91d825 Rollup merge of rust-lang#129323 - Urgau:ptr_fn_addr_eq, r=Mark-Simulacrum f647079 Rollup merge of rust-lang#128596 - RalfJung:const_fn_floating_point_arithmetic, r=nnethercote f965950 New `#[rustc_pub_transparent]` attribute a6ea125 panicking: improve hint for Miri's RUST_BACKTRACE behavior a437005 Build `library/profiler_builtins` from `ci-llvm` if appropriate 693477a remove invalid `TyCompat` relation for effects 82fc74f library: Move unstable API of new_uninit to new features 3ee2e18 Enable Alignment::new_unchecked precondition check 0803686 Change `f16` doctests in core to run on x86-64 linux 9359a12 Update `compiler_builtins` to `0.1.121` da02e8b Enable `f16` tests on x86 and x86-64 f3a198e docs: correct panic conditions for rem_euclid and similar functions 976fb4a Move into_inner_unchecked back to the bottom of the impl block 2741e8d Put Pin::as_deref_mut in impl Pin<Ptr> 88790f8 document & impl the transmutation modeled by `BikeshedIntrinsicFrom` f670207 Auto merge of rust-lang#129464 - GuillaumeGomez:rollup-ckfqd7h, r=GuillaumeGomez 5bf661c Rollup merge of rust-lang#129276 - eduardosm:stabilize-char_indices_offset, r=Amanieu e2614f2 Rollup merge of rust-lang#129400 - Amjad50:update-compiler-builtins, r=tgross35 2c06146 Rollup merge of rust-lang#127623 - lolbinarycat:fix_remove_dir_all, r=Amanieu eb747e5 Check that `library/profiler_builtins` actually found some source files eae7987 fix typos in new pointer conversion docs fe33d2c fix: fs::remove_dir_all: treat ENOENT as success 3fd591e feat(core): Make `unbounded_shl{l,r}` unstably const and remove `rustc_allow_const_fn_unstable` 2168ce3 Auto merge of rust-lang#129398 - matthiaskrgr:rollup-50l01ry, r=matthiaskrgr 12944c7 Update `compiler_builtins` to `0.1.120` 7496478 stabilize const_fn_floating_point_arithmetic 6f534f9 Rollup merge of rust-lang#129382 - tgross35:once-cell-const-into-inner, r=Noratrieb 2535017 Rollup merge of rust-lang#129376 - ChaiTRex:assert_unsafe_precondition_check_language_ub, r=workingjubilee,the8472 4ec19af Rollup merge of rust-lang#129374 - ChaiTRex:digit_unchecked_assert_unsafe_precondition, r=scottmcm 024ec3c Rollup merge of rust-lang#128432 - g0djan:godjan/wasi_prohibit_implicit_unsafe, r=tgross35 f671c11 Auto merge of rust-lang#129365 - matthiaskrgr:rollup-ebwx6ya, r=matthiaskrgr 5299ef1 fix(core): Use correct operations/values in `unbounded_shr` doctests 8423006 chore: `x fmt` cbe7338 fix(core): Add `#![feature(unbounded_shifts)]` to doctests for `unbounded_shr`/`unbounded_shl` 863123b Add `const_cell_into_inner` to `OnceCell` b51f35e format 6fd5393 chore: `x fmt` and hopefully fix the tidy issue e99c681 Clean up cfg-gating of ProcessPrng extern 9d2bb97 Change `assert_unsafe_precondition` docs to refer to `check_language_ub` 32bd5df chore: Also format the control flow 5f8cf71 Manually format functions and use `rhs` instead of `v` from my CE testing 700af56 feat(core): Add implementations for `unbounded_shl`/`unbounded_shr` a9ad57e Use `assert_unsafe_precondition!` in `AsciiChar::digit_unchecked` 77bd65f Rollup merge of rust-lang#129321 - krtab:float_sum, r=workingjubilee cc21978 Rollup merge of rust-lang#129232 - ivmarkov:master, r=workingjubilee c9cf844 Rollup merge of rust-lang#127945 - tgross35:debug-more-non-exhaustive, r=Noratrieb d37ebfe Rollup merge of rust-lang#129332 - cuviper:cstr-cast, r=compiler-errors 6d01ed8 Rollup merge of rust-lang#129312 - tbu-:pr_str_not_impl_error, r=Noratrieb 93319c8 Fix stability attribute of `impl !Error for &str` 7f8bdd5 Auto merge of rust-lang#126556 - saethlin:layout-precondition, r=joboet 9e9141f Auto merge of rust-lang#128866 - scottmcm:update-stdarch, r=tgross35 d47cfba Update stdarch submodule b507a8b Try to golf down the amount of code in Layout 32b574e Avoid extra `cast()`s after `CStr::as_ptr()` 9d4113f Rollup merge of rust-lang#129294 - scottmcm:stabilize-repeat-n, r=Noratrieb 62d240d Implement `ptr::fn_addr_eq` 529e33a Change neutral element of <fNN as iter::Sum> to neg_zero 126935f Stabilize `iter::repeat_n` 91439ce Auto merge of rust-lang#129226 - RalfJung:libc, r=Mark-Simulacrum bef7be0 Add a precondition check for Layout::from_size_align_unchecked a55ab85 Stabilize feature `char_indices_offset` 7f45dcf library: bump libc dependency ebe99f3 Rollup merge of rust-lang#128902 - evanj:evan.jones/env-var-doc, r=workingjubilee 8bdd95b soft-deprecate the addr_of macros 23b0aad code review improvements 0b0dad4 Fix for issue rust-lang#129212 for the ESP-IDF bd7aa57 Auto merge of rust-lang#126877 - GrigorenkoPV:clone_to_uninit, r=dtolnay d3c08f8 Auto merge of rust-lang#128598 - RalfJung:float-comments, r=workingjubilee dc5fed5 Auto merge of rust-lang#106943 - mina86:exact_size_take_repeat, r=dtolnay 88927ac Auto merge of rust-lang#116528 - daxpedda:stabilize-ready-into-inner, r=dtolnay 9952947 Rollup merge of rust-lang#129161 - dtolnay:spawnunck, r=Noratrieb db3abec Rollup merge of rust-lang#129086 - slanterns:is_none_or, r=dtolnay 44a558d Stabilize std::thread::Builder::spawn_unchecked 5c553c4 float to/from bits and classify: update comments regarding non-conformant hardware 9704e2d Rollup merge of rust-lang#128064 - ijackson:noop-waker-doc, r=workingjubilee 0497f0c Add cautionary paragraph about noop wakers. 16dd426 Rollup merge of rust-lang#128946 - orlp:faster-ip-hash, r=joboet 383c4db Rollup merge of rust-lang#128925 - dingxiangfei2009:smart-ptr-helper-attr, r=compiler-errors ba3a942 Rollup merge of rust-lang#125970 - RalfJung:before_exec, r=m-ou-se 32a71bb size-optimize some of the panic dependencies d7b85f2 apply #[optimize(size)] to #[cold] ones and part of the panick machinery 0dbf8cf Rollup merge of rust-lang#128954 - zachs18:fromresidual-no-default, r=scottmcm 4f09599 Rollup merge of rust-lang#128570 - folkertdev:stabilize-asm-const, r=Amanieu b6c9e44 add Box::as_ptr and Box::as_mut_ptr methods 23d1309 CommandExt::before_exec: deprecate safety in edition 2024 9858d49 stabilize `is_none_or` fd2b339 Auto merge of rust-lang#129060 - matthiaskrgr:rollup-s72gpif, r=matthiaskrgr 3b8aab7 Rollup merge of rust-lang#129001 - cblh:fix/128713, r=Noratrieb 16edf69 Rollup merge of rust-lang#128873 - ChrisDenton:windows-targets, r=Mark-Simulacrum 0199b00 Rollup merge of rust-lang#128759 - notriddle:notriddle/spec-to-string, r=workingjubilee,compiler-errors c6dc243 stabilize `asm_const` b4bfc21 Rollup merge of rust-lang#129034 - henryksloan:coroutine-must-use, r=joboet b56fdcb Rollup merge of rust-lang#127857 - tbu-:pr_deprecated_safe_todo, r=petrochenkov 77f462d Rollup merge of rust-lang#122884 - mzabaluev:pow-remove-exit-branch, r=Amanieu 0a6a74b Reduce merged doctest source code size a83dde6 Mark location doctest as standalone since file information will not work in merged doctest file 7334c71 Auto merge of rust-lang#129046 - matthiaskrgr:rollup-9x4xgak, r=matthiaskrgr 9ed7210 Rollup merge of rust-lang#128745 - dtolnay:spawnunchecked, r=workingjubilee c39d90e Rollup merge of rust-lang#128655 - joboet:play_with_the_dice, r=ChrisDenton f81c96a `#[deprecated_safe_2024]`: Also use the `// TODO:` hint in the compiler error 23a1968 Allow to customize `// TODO:` comment for deprecated safe autofix 37017c0 Auto merge of rust-lang#128962 - devnexen:fs_get_mode_haiku, r=workingjubilee 6ad03a7 simd_shuffle intrinsic: allow argument to be passed as vector (not just as array) 8a2671a Revert to original loop for const pow exponents c5e8189 Auto merge of rust-lang#128742 - RalfJung:miri-vtable-uniqueness, r=saethlin ac682f1 Add must_use attribute to Coroutine trait 658904d chore(lib): fmt core::fmt::Formatter's write_fmt method 7eb7376 trying common codepath for every unixes 5fabf93 std::fs: get_mode implementation for haiku. e3da824 Rollup merge of rust-lang#129017 - its-the-shrimp:core_fmt_from_fn, r=Noratrieb b247d9a derive(SmartPointer): register helper attributes aa85448 Explicitly specify type parameter on FromResidual impls in stdlib. 262a4f6 std::fmt::FormatterFn -> std::fmt::FromFn ceceae3 Rollup merge of rust-lang#128632 - joboet:dont_overwrite_style, r=Amanieu e8f7afe Rollup merge of rust-lang#128149 - RalfJung:nontemporal_store, r=jieyouxu,Amanieu,Jubilee 7dd2083 chore(lib): Enhance documentation for core::fmt::Formatter's write_fmt method 048efd0 ignore some vtable/fn ptr equality tests in Miri, their result is not fully predictable a367a12 std: use `/scheme/rand` on Redox 4b816b4 core: make documentation clearer, rename slice comparison specialization trait 1ca6b42 std: do not overwrite style in `get_backtrace_style` 9147777 Auto merge of rust-lang#128862 - cblh:fix/128855, r=scottmcm 56e1afe Auto merge of rust-lang#126793 - saethlin:mono-rawvec, r=scottmcm ec7a585 Do not use unnecessary endian conversion. f48facf Rollup merge of rust-lang#128882 - RalfJung:local-waker-will-wake, r=cuviper b581949 Rollup merge of rust-lang#120314 - mina86:i, r=Mark-Simulacrum 451feca Fix stability annotation and expand comment 2e34ac3 Hash Ipv*Addr as an integer b8b61e1 Auto merge of rust-lang#128927 - GuillaumeGomez:rollup-ei2lr0f, r=GuillaumeGomez 44f5b4f Rollup merge of rust-lang#128273 - Voultapher:improve-ord-violation-help, r=workingjubilee 3d7afa0 Update std and compiler 971df1c Stabilize `min_exhaustive_patterns` c37c666 Add an optimizer hint for the capacity that with_capacity_in returns c8cbd5c Hoist IS_ZST check out of RawVecInner::from_*_in e843f71 Polymorphize RawVec dc39cbf core: optimise Debug impl for ascii::Char 9668691 doc: std::env::var: Returns None for names with '=' or NUL byte 5d5d8bc Rollup merge of rust-lang#128859 - MinxuanZ:mips-sig, r=Amanieu 825def0 Rollup merge of rust-lang#128817 - biabbas:vxworks_update, r=tgross35 6e933a8 make LocalWaker::will_wake consistent with Waker::will_wake 118c712 Fix linkchecker issue b1460b9 Exclude windows-targets from the workspace a3a6a98 Add windows-targets crate to std's sysroot f74940d Rollup merge of rust-lang#128824 - GuillaumeGomez:update-compiler-builtins, r=Amanieu 39b1eaf VxWorks: Add safety comment for vxCpuEnabledGet 8b0a25d fix: Ensure `Guard`'s `drop` method is removed at `opt-level=s` for `Copy` types c54958c delete space dadbd58 fix format 7c34ebf [SPARC] fix the name of signal 19 in sparc arch b75648a [MIPS] fix the name of signal 19 in mips 3840b09 Rollup merge of rust-lang#128818 - RalfJung:std-miri-floats, r=tgross35 d03bb5e Rollup merge of rust-lang#128640 - RalfJung:rwlock-macos-miri, r=joboet 7680a3c Rollup merge of rust-lang#128749 - tgross35:float-inline, r=scottmcm 9df61ad Rollup merge of rust-lang#128306 - WiktorPrzetacznik:WiktorPrzetacznik-nonnull-alignoffset-update, r=Amanieu 39860ad Update compiler-builtins version to 0.1.118 4281185 std float tests: special-case Miri in feature detection 4d6b36a Vxworks: Extern taskNameSet and fix build errors e24a6ca rwlock: disable 'frob' test in Miri on macOS c21ba97 Fix VxWorks available parallelism: Move nonzero::uncheked into unsafe block 2495418 Rollup merge of rust-lang#128800 - clarfonthey:core-pattern-type, r=compiler-errors 79cd72a Rollup merge of rust-lang#128691 - tgross35:update-builtins, r=Amanieu 8f84015 Add tracking issue to core-pattern-type b8f7f38 Stabilize `Ready::into_inner()` 62ccdeb Rollup merge of rust-lang#128261 - clarfonthey:iter-default, r=dtolnay b4e5330 alloc: make `to_string_str!` a bit less complex ec74467 Mark `{f32,f64}::{next_up,next_down,midpoint}` inline b90a026 Rollup merge of rust-lang#128766 - Monadic-Cat:patch-1, r=tgross35 5d7906c Rollup merge of rust-lang#128417 - tgross35:f16-f128-math, r=dtolnay 83d1d16 Trivial grammar fix in const keyword docs 97384fa Update `compiler-builtins` to 0.1.117 6dc79bb Rollup merge of rust-lang#128751 - devnexen:vxworks_set_thread_name, r=tgross35 432425d Rollup merge of rust-lang#128539 - biabbas:deny_unsafe, r=workingjubilee 1bd5338 Rollup merge of rust-lang#128406 - lolbinarycat:bufreader_peek, r=Mark-Simulacrum e20aa64 Rollup merge of rust-lang#125048 - dingxiangfei2009:stable-deref, r=amanieu bc13c6c alloc: add ToString specialization for `&&str` 14fe723 std::thread: set_name implementation proposal for vxWorks. 67fa603 Remove unused lifetime parameter from spawn_unchecked 4a3da12 Add a special case for CStr/CString in the improper_ctypes lint 51ec2bb implement BufReader::peek e6aede2 nontemporal_store: make sure that the intrinsic is truly just a hint a300df7 WASI fixing unsafe_op_in_unsafe_fn for std::{os, sys} 59436fc std: refactor UNIX random data generation 8fe1e32 refactor: standardize duplicate processes in parser 6fafc6b Apply review comments to PartialOrd section 7850a64 Forbid unsafe_op_in_unsafe_fn in vxworks specific os and sys files e844eff Add a disclaimer about x86 `f128` math functions 21d297b Update comments for `{f16, f32, f64, f128}::midpoint` ad27d08 Add `core` functions for `f16` and `f128` that require math routines c6407b0 Add math functions for `f16` and `f128` d9b1de5 Add math intrinsics for `f16` and `f128` 3c1586b Hide internal sort module b927541 core: use `compare_bytes` for more slice element types 2188712 Apply review comments 2ebe00a PinCoerceUnsized trait into core 569ab6a CloneToUninit: use a private specialization trait 26874cc Sparkle some attributes over `CloneToUninit` stuff e8c3718 impl CloneToUninit for Path and OsStr ef8c591 impl CloneToUninit for str and CStr 65c6173 Update NonNull::align_offset quarantees b014b0d Improve panic sections for sort*, sort_unstable* and select_nth_unstable* 9bcfe84 Improve panic message and surrounding documentation for Ord violations 7e55abb Okay, I guess I have to give these a different feature name bdc18e2 impl Default for collection iterators that don't already have it f26f981 clarify interactions with MaybeUninit and UnsafeCell 394c864 remove duplicate explanations of the ptr to ref conversion rules 571348b create a new section on pointer to reference conversion 971aa37 LocalWaker docs: Make long-ago omitted but probably intended changes c4fdac9 Docs for Waker and LocalWaker: Add cross-refs in comment 9c299bc Implement `debug_more_non_exhaustive` b405024 Make use of raw strings in `core::fmt::builders` 20e64bd Use is_val_statically_known to optimize pow 05ee322 Explicitly unroll integer pow for small exponents 4cfe24a Optimize integer pow by removing exit branch 7c219da Implement DoubleEnded and ExactSize for Take<Repeat> and Take<RepeatWith> git-subtree-dir: library git-subtree-split: 4f47132
Recent experience in #128083 showed that the panic message when an Ord violation is detected by the new sort implementations can be confusing. So this PR aims to improve it, together with minor bug fixes in the doc comments for sort*, sort_unstable* and select_nth_unstable*.
Is it possible to get these changes into the 1.81 release? It doesn't change behavior and would greatly help when users encounter this panic for the first time, which they may after upgrading to 1.81.
Tagging @orlp