Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

impl Default for HashMap/HashSet iterators that don't already have it #128711

Merged
merged 1 commit into from
Oct 3, 2024

Conversation

clarfonthey
Copy link
Contributor

@clarfonthey clarfonthey commented Aug 5, 2024

This is a follow-up to #128261 that isn't included in that PR because it depends on:

It also wasn't included in #128261 initially and should have its own FCP, since these are also insta-stable.

Changes added:

  • Default for hash_map::{Iter, IterMut, IntoIter, IntoKeys, IntoValues, Keys, Values, ValuesMut}
  • Default for hash_set::{Iter, IntoIter}

Changes that were added before FCP, but are being deferred to later:

  • Clone for hash_map::{IntoIter, IntoKeys, IntoValues} where K: Clone, V: Clone
  • Clone for hash_set::IntoIter where K: Clone

@rustbot
Copy link
Collaborator

rustbot commented Aug 5, 2024

r? @tgross35

rustbot has assigned @tgross35.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Aug 5, 2024
@clarfonthey clarfonthey changed the title impl Default, Clone for Hash{Map,Set} iterators that don't already have it impl Default, Clone for HashMap/HashSet iterators that don't already have it Aug 5, 2024
@rust-log-analyzer

This comment has been minimized.

@tgross35
Copy link
Contributor

tgross35 commented Aug 5, 2024

This seems reasonable but will need an FCP like #128261.

r? libs-api

@rustbot rustbot added the T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. label Aug 5, 2024
@rustbot rustbot assigned BurntSushi and unassigned tgross35 Aug 5, 2024
@tgross35 tgross35 removed the T-libs Relevant to the library team, which will review and decide on the PR/issue. label Aug 5, 2024
@dtolnay dtolnay assigned dtolnay and unassigned BurntSushi Aug 7, 2024
library/std/src/collections/hash/set.rs Outdated Show resolved Hide resolved
@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 7, 2024
@dtolnay
Copy link
Member

dtolnay commented Aug 7, 2024

@rust-lang/libs-api:
@rfcbot fcp merge

  • Default for hash_map::{Iter, IterMut, IntoIter, IntoKeys, IntoValues, Keys, Values, ValuesMut}
  • Clone for hash_map::{IntoIter, IntoKeys, IntoValues} where K: Clone, V: Clone
  • Default for hash_set::{Iter, IntoIter}
  • Clone for hash_set::IntoIter where T: Clone

These are impls of a stable trait for stable types, and therefore instantly stable.

@rfcbot
Copy link

rfcbot commented Aug 7, 2024

Team member @dtolnay has proposed to merge this. The next step is review by the rest of the tagged team members:

No concerns currently listed.

Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!

See this document for info about what commands tagged team members can give me.

@rfcbot rfcbot added proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. final-comment-period In the final comment period and will be merged soon unless new substantive objections are raised. and removed proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. labels Aug 7, 2024
@rfcbot
Copy link

rfcbot commented Aug 13, 2024

🔔 This is now entering its final comment period, as per the review above. 🔔

@clarfonthey
Copy link
Contributor Author

clarfonthey commented Aug 18, 2024

May be unprecedented with the FCP still going on, but I'm dropping the Clone impls from this particular PR and deferring them to a later change.

Main issue is that the Clone impls are turning out to be substantially more complicated than I thought they'd be, and I think it'd be better to do a bit of refactoring in hashbrown to have safer internal parts rather than just hacking together a solution to get these impls to work. It doesn't really have any internal sense of ownership, and so IntoIter and Iter just reuse the same code, plus an extra pointer stored in the struct to make sure it gets freed.

This also means that we wouldn't depend on the second PR to hashbrown, and only on a new release being pushed out with the Default impls. (Which still is necessary, but doesn't require additional review.)

@clarfonthey clarfonthey changed the title impl Default, Clone for HashMap/HashSet iterators that don't already have it impl Default for HashMap/HashSet iterators that don't already have it Aug 18, 2024
@rust-log-analyzer

This comment has been minimized.

@rfcbot rfcbot added the finished-final-comment-period The final comment period is finished for this PR / Issue. label Aug 23, 2024
@rustbot rustbot added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Oct 1, 2024
@clarfonthey
Copy link
Contributor Author

Since I'm working on the other API changes from hashbrown 0.15 and this already passed FCP anyway, I'm going to just include this change in the PR that does that. So, closing this, but will link to clarify that FCP passed.

@clarfonthey
Copy link
Contributor Author

Just kidding, there was another PR that added these changes that's already in the queue. So, I'll rebase after that.

@rust-log-analyzer

This comment has been minimized.

@clarfonthey
Copy link
Contributor Author

@rustbot ready

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Oct 3, 2024
Copy link
Member

@dtolnay dtolnay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@dtolnay
Copy link
Member

dtolnay commented Oct 3, 2024

@bors r+

@bors
Copy link
Contributor

bors commented Oct 3, 2024

📌 Commit 11f738f has been approved by dtolnay

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 3, 2024
@bors
Copy link
Contributor

bors commented Oct 3, 2024

⌛ Testing commit 11f738f with merge f7c8928...

@bors
Copy link
Contributor

bors commented Oct 3, 2024

☀️ Test successful - checks-actions
Approved by: dtolnay
Pushing f7c8928 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Oct 3, 2024
@bors bors merged commit f7c8928 into rust-lang:master Oct 3, 2024
7 checks passed
@rustbot rustbot added this to the 1.83.0 milestone Oct 3, 2024
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (f7c8928): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.5% [-3.1%, -1.1%] 7
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -0.7%, secondary 1.7%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
1.4% [1.4%, 1.4%] 1
Regressions ❌
(secondary)
1.7% [1.4%, 1.9%] 2
Improvements ✅
(primary)
-1.7% [-2.4%, -1.0%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.7% [-2.4%, 1.4%] 3

Cycles

Results (primary 0.7%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.7% [0.7%, 0.7%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.7% [0.7%, 0.7%] 1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 768.983s -> 772.929s (0.51%)
Artifact size: 341.97 MiB -> 341.95 MiB (-0.01%)

@clarfonthey clarfonthey deleted the default-iters-hash branch October 3, 2024 17:14
qinheping added a commit to qinheping/verify-rust-std that referenced this pull request Nov 7, 2024
771d77c Rollup merge of rust-lang#132495 - Houtamelo:remove_unintended_link, r=jieyouxu
d99f3cf Rollup merge of rust-lang#132493 - Houtamelo:doc_type-ref_html-tag, r=jieyouxu
e24475c Rollup merge of rust-lang#132482 - lukas-code:stab-attrs, r=Noratrieb
21e23b8 Rollup merge of rust-lang#132398 - krtab:add_doc_link, r=Noratrieb
64e2472 Remove unintended link
166cea2 Fix type reference in documents which was being confused with html tags.
cab478a fix some stability annotations
ecd55b1 Rollup merge of rust-lang#132459 - RalfJung:byte_sub_ptr, r=scottmcm
3cd2636 Rollup merge of rust-lang#132455 - RalfJung:const_alloc_layout, r=dtolnay
8fdd6d4 Rollup merge of rust-lang#132451 - RalfJung:less-rustc_allow_const_fn_unstable, r=tgross35
9f63901 Rollup merge of rust-lang#132445 - RalfJung:const-unchecked-shifts, r=tgross35
2b0a6dd Rollup merge of rust-lang#132413 - lolbinarycat:offset_of_nested-docs, r=workingjubilee
c80bb77 offset_from / sub_ptr docs: emphasize that pointers must be in the same allocation
861009d feat(byte_sub_ptr): add ptr::byte_sub_ptr
f4e1fa3 make const_alloc_layout feature gate only about functions that are already stable
bf19bda unchecked_shifts, unchecked_neg are safe-to-const-expose-on-stable, so we can get rid of a bunch of attributes
ebf7505 remove some unnecessary rustc_allow_const_fn_unstable
36cfa4e Auto merge of rust-lang#132206 - tgross35:update-builtins, r=wesleywiser
4283f78 use semantic line break
a4b3916 update offset_of! docs to reflect the stablization of nesting
f0634f0 Add intra-doc link in str::xxx_char_boundary
5d892fb Remove do_not_const_check from Iterator methods
93839e7 Add intra-doc link in str::xxx_prefix
8c0bdb3 Auto merge of rust-lang#132238 - Urgau:midpoint-i64-hackers-impl, r=joboet
9b9ea35 Auto merge of rust-lang#132326 - matthiaskrgr:rollup-ngyw18g, r=matthiaskrgr
94dd5c6 Rollup merge of rust-lang#132321 - betrusted-io:xous/fix-rustc_const_stable-attribute, r=joboet
eb2e420 Auto merge of rust-lang#132231 - lukas-code:rc-plug-leaks, r=tgross35
ed1a265 xous: sync: remove `rustc_const_stable` attribute
6495896 Rollup merge of rust-lang#132270 - yakiimoninja:fs-truncate-docs, r=Noratrieb
057f9e9 Rollup merge of rust-lang#132233 - WaffleLapkin:box-module-split, r=workingjubilee
d0a99e7 Rollup merge of rust-lang#131520 - zachs18:const-str-split, r=Noratrieb
e134006 Auto merge of rust-lang#132277 - workingjubilee:rollup-5e6q6e4, r=workingjubilee
a1b88a0 Auto merge of rust-lang#128985 - GrigorenkoPV:instantly-dangling-pointer, r=Urgau
9318ae3 Rc destructor: tweak inlining
3a686cd Split `boxed.rs` into a few modules
7be29e9 Rollup merge of rust-lang#131441 - SpriteOvO:proc-macro-to-tokens-trait, r=dtolnay
d56ef5a clarified std::fs truncate doc
b0248e2 Auto merge of rust-lang#132145 - RalfJung:stdarch, r=Amanieu
191aa70 clarified doc for `std::fs::OpenOptions.truncate()`
a5aa408 New lint: `dangling_pointers_from_temporaries`
8cdb783 Rollup merge of rust-lang#131391 - ChaiTRex:isqrt, r=scottmcm,tgross35
4f4a6c6 we can now enable the 'const stable fn must be stable' check
79c45be bump stdarch
848fcd5 Auto merge of rust-lang#132251 - jieyouxu:rollup-mtv9mpd, r=jieyouxu
e212260 Auto merge of rust-lang#132200 - Mark-Simulacrum:strengthen-cross-lang, r=RalfJung
ac1ec5f Support `char::is_digit` in const contexts
b534a02 Use Hacker's Delight impl in `i64::midpoint` instead of wide `i128` impl
28223bd Rc/Arc: don't leak the allocation if drop panics
5d8140d add test for panicking drop in Box/Rc/Arc
cde6279 Auto merge of rust-lang#131284 - dingxiangfei2009:rename-smart-ptr-to-coerce-referent, r=compiler-errors
c667683 Auto merge of rust-lang#132191 - Urgau:midpoint_signed_towards_zero, r=dtolnay
80f0aa3 Add a new trait `proc_macro::ToTokens`
3cfffb8 Update compiler-builtins to 0.1.136
45d8393 Auto merge of rust-lang#131715 - tgross35:add-const_sockaddr_setters, r=Amanieu
ec76942 Make clearer that guarantees in ABI compatibility are for Rust only
139f632 Add test for all midpoint expectations
4612afa Round negative signed integer towards zero in `iN::midpoint`
06b5c8e Rollup merge of rust-lang#132019 - daboross:document-partialeq-oncelock, r=Mark-Simulacrum
658e709 Auto merge of rust-lang#131349 - RalfJung:const-stability-checks, r=compiler-errors
db3b9fc Rollup merge of rust-lang#132137 - RalfJung:behavior, r=Noratrieb
6daffe4 get rid of the internal unlikely macro
d2ff6a2 Re-do recursive const stability checks
295b932 library: consistently use American spelling for 'behavior'
2348c06 Rollup merge of rust-lang#131457 - kpreid:fnaddr, r=dtolnay
2da7b7f Auto merge of rust-lang#132121 - workingjubilee:rollup-yrtn33e, r=workingjubilee
5cf142b Rollup merge of rust-lang#132113 - LaihoE:pattern_as_utf8_default_impl, r=workingjubilee
1f2f88e Rollup merge of rust-lang#132101 - youknowone:thread_local-gyneiene, r=tgross35
6c81340 Rollup merge of rust-lang#132048 - mustartt:aix-random-impl, r=workingjubilee
980e5a2 Rollup merge of rust-lang#131851 - sunshowers:musl-posix, r=workingjubilee
d25ee97 Avoid use imports in thread_local_inner! in statik
b4ea08d Auto merge of rust-lang#132116 - matthiaskrgr:rollup-3a0ia4r, r=matthiaskrgr
0ae2951 Rollup merge of rust-lang#131790 - nmathewson:doc_socketaddr_representation, r=tgross35
8baae66 Auto merge of rust-lang#131985 - compiler-errors:const-pred, r=fee1-dead
115a851 provide default impl for as_utf8_pattern
a92f55c Auto merge of rust-lang#123550 - GnomedDev:remove-initial-arc, r=Noratrieb
c9460bf Document textual format of SocketAddrV{4,6}
78f4ed3 Remove associated type based effects logic
21eb2c2 [musl] use posix_spawn if a directory change was requested
03798ad Rollup merge of rust-lang#130225 - adetaylor:rename-old-receiver, r=wesleywiser
a45e030 Rollup merge of rust-lang#132066 - tifv:ptr-docs-typo, r=Amanieu
927edad Rollup merge of rust-lang#132065 - tifv:dangling-docs, r=Noratrieb
ded2a0a Rollup merge of rust-lang#132060 - joshtriplett:innermost-outermost, r=jieyouxu
e62b2cc Rollup merge of rust-lang#132039 - a1phyr:vecdeque_read_exact, r=Noratrieb
76e75ae Rollup merge of rust-lang#130991 - LaihoE:vectorized_slice_contains, r=Noratrieb
6799f85 const fn str::split_at*
887bcf6 const fn str::is_char_boundary
01ed719 vectorized SliceContains
1bb8bde s/SmartPointer/CoerceReferent/g
843347f fix a typo in documentation of pointer::sub_ptr()
10f64a7 fix documentation of ptr::dangling() function
728a8d7 "innermost", "outermost", "leftmost", and "rightmost" don't need hyphens
282790f Specialize `read_exact` and `read_buf_exact` for `VecDeque`
054b256 Rollup merge of rust-lang#132031 - slanterns:rc_default, r=ibraheemdev
05b4955 Rollup merge of rust-lang#131707 - clarfonthey:constify-core-tests, r=thomcc
b0fc9c7 Auto merge of rust-lang#131929 - LaihoE:replace_default_capacity, r=joboet
5c416b4 AIX use /dev/urandom for impl
09e26cb better default capacity for str::replace
3a5e669 Rename Receiver -> LegacyReceiver
224a60d refactor `Arc<T>::default`
fe5101d optimize `Rc<T>::default`
507193a Rollup merge of rust-lang#131697 - ShE3py:rt-arg-lifetimes, r=Amanieu
61fa53e Document PartialEq impl for OnceLock
2e8dd5b Rollup merge of rust-lang#132003 - RalfJung:abi-compat-docs, r=traviscross
7f91dbe Rollup merge of rust-lang#130350 - RalfJung:strict-provenance, r=dtolnay
8499ec3 update ABI compatibility docs for new option-like rules
6d2a437 move strict provenance lints to new feature gate, remove old feature gates
4461171 stabilize Strict Provenance and Exposed Provenance
e2b2c3a fix docs
20ed6b5 replace FindFirstFileW with FindFirstFileExW and apply optimization
a065b8e replace FindFirstFileW with FindFirstFileExW and regenerate bindings
362aec6 Auto merge of rust-lang#131948 - matthiaskrgr:rollup-c9rvzu6, r=matthiaskrgr
7628c4f Rollup merge of rust-lang#131921 - klensy:statx_all, r=ChrisDenton
affe042 Rollup merge of rust-lang#131772 - GnomedDev:remove-proc_macro-todo, r=petrochenkov
5615efc Auto merge of rust-lang#131907 - saethlin:update-compiler-builtins, r=tgross35
b6b2903 Update `compiler-builtins` to 0.1.134
b714f9d Rollup merge of rust-lang#131919 - RalfJung:zero-sized-accesses, r=jhpratt
fb67079 Rollup merge of rust-lang#131890 - printfn:precise-capturing-docs, r=traviscross
642ab07 Rollup merge of rust-lang#127462 - Ayush1325:uefi-env, r=joboet
bac3891 Remove the Arc rt::init allocation for thread info
85f6f48 Auto merge of rust-lang#131816 - Zalathar:profiler-feature, r=Kobzol
f843b26 replace STATX_ALL with (STATX_BASIC_STATS | STATX_BTIME) as former is deprecated
aabdd7d zero-sized accesses are fine on null pointers
ff3f33f Update `use` keyword docs to describe precise capturing
c949985 std: uefi: Use common function for UEFI shell
f973e62 std: uefi: Add basic Env variables
63a4a9b Auto merge of rust-lang#131895 - jieyouxu:rollup-jyt3pic, r=jieyouxu
39ccfc9 Rollup merge of rust-lang#126207 - devnexen:stack_overflow_libc_upd, r=joboet
e08bce6 Auto merge of rust-lang#131841 - paulmenage:futex-abstraction, r=joboet
eba461c Rollup merge of rust-lang#131866 - jieyouxu:thread_local, r=jhpratt
80bbaa9 Rollup merge of rust-lang#131858 - AnthonyMikh:AnthonyMikh/repeat_n-is-not-that-special-anymore, r=jhpratt
5ec2cbc Rollup merge of rust-lang#131809 - collinoc:fix-retain-mut-docs, r=jhpratt
fe19eb6 Rollup merge of rust-lang#131774 - thesummer:rtems-add-getentropy, r=joboet
fca7375 Rollup merge of rust-lang#130136 - GKFX:stabilize-const-pin, r=dtolnay
07aaa64 Add entropy source for RTEMS
1b957f4 Rollup merge of rust-lang#131850 - lexeyOK:master, r=compiler-errors
a6871b8 Rollup merge of rust-lang#131823 - thesummer:bump-libc-0.2.160, r=workingjubilee
848aed9 Rollup merge of rust-lang#131654 - betrusted-io:xous-various-fixes, r=thomcc
a6e300e Avoid shadowing user provided types or type aliases in `thread_local!`
a993e1d remove outdated documentation for `repeat_n`
4d2c969 Auto merge of rust-lang#131572 - cuviper:ub-index_range, r=thomcc
f905a0c Bump libc to 0.2.161
beee93f std::unix::stack_overflow::drop_handler addressing todo through libc update
c8f71dc Missing parenthesis
01bce29 Abstract the state type for futexes
0ab703c Rollup merge of rust-lang#131835 - ferrocene:amanjeev/add-missing-attribute-unwind, r=Noratrieb
bac74b6 Rollup merge of rust-lang#131833 - c-ryan747:patch-1, r=Noratrieb
0d7c889 Auto merge of rust-lang#130223 - LaihoE:faster_str_replace, r=thomcc
34c8228 Do not run test where it cannot run
d73f924 Add must_use to CommandExt::exec
aa027e9 Make `profiler_builtins` an optional dependency of sysroot, not std
019ad0c Remove TODO in proc_macro now `const_refs_to_static` is stable
3b5d8a2 Fix predicate signatures in retain_mut docs
6c85d31 Auto merge of rust-lang#131797 - matthiaskrgr:rollup-lzpze2k, r=matthiaskrgr
3a5fdfc Partially stabilize const_pin
7caa6d2 Rollup merge of rust-lang#131730 - zlfn:master, r=tgross35
1e13241 Auto merge of rust-lang#131792 - matthiaskrgr:rollup-480nwg4, r=matthiaskrgr
1581f56 Rollup merge of rust-lang#130822 - bjoernager:non-null-from-ref, r=dtolnay
f7b3231 Auto merge of rust-lang#131767 - cuviper:bump-stage0, r=Mark-Simulacrum
cdbd127 Rollup merge of rust-lang#131746 - slanterns:once_box_order, r=joboet
6f3e65c Rollup merge of rust-lang#131712 - tgross35:const-lazy_cell_into_inner, r=joboet
151c0c7 Auto merge of rust-lang#131460 - jwong101:default-placement-new, r=ibraheemdev
43f97fb update bootstrap configs
eae13d1 replace placeholder version
e35d9fe relax a memory order in `once_box`
fbde7e8 Rollup merge of rust-lang#131521 - jdonszelmann:rc, r=joboet
9d9ea42 Rollup merge of rust-lang#130568 - eduardosm:const-float-methods, r=RalfJung,tgross35
435ce04 Rollup merge of rust-lang#129794 - Ayush1325:uefi-os-expand, r=joboet
bfd32fa Refactor `floating` macro and nofloat panic message
7d1457e Auto merge of rust-lang#131723 - matthiaskrgr:rollup-krcslig, r=matthiaskrgr
148ed85 Rename debug! macro to impl_Debug!
db2efb0 Combine impl_int and impl_uint
1897d05 Make some float methods unstable `const fn`
76342d9 Auto merge of rust-lang#131724 - matthiaskrgr:rollup-ntgkkk8, r=matthiaskrgr
da7ca22 Rollup merge of rust-lang#131706 - GKFX:fix-const-hacks, r=tgross35
54072ab Rollup merge of rust-lang#131496 - bjoernager:const-make-ascii, r=dtolnay
1695b0a Rollup merge of rust-lang#130608 - YohDeadfall:cstr-from-into-str, r=workingjubilee
f1ee2cd Rollup merge of rust-lang#131339 - HeroicKatora:set_ptr_value-documentation, r=Mark-Simulacrum
ffc4a6c Rollup merge of rust-lang#122670 - beetrees:non-unicode-option-env-error, r=compiler-errors
cc7730e Auto merge of rust-lang#129458 - EnzymeAD:enzyme-frontend, r=jieyouxu
eeab9d4 Stabilise 'const_make_ascii'
ec0b0df Add a `const_sockaddr_setters` feature
e788410 Mark LazyCell::into_inner unstably const
acaf7e2 Run most core::num tests in const context too
63f3836 Fix two const-hacks
34d920c `rt::Argument`: elide lifetimes
ecb3830 Rollup merge of rust-lang#131384 - saethlin:precondition-tests, r=ibraheemdev
ea7a0c6 Rollup merge of rust-lang#129424 - coolreader18:stabilize-pin_as_deref_mut, r=dtolnay
843c9e9 Auto merge of rust-lang#131672 - matthiaskrgr:rollup-gyzysj4, r=matthiaskrgr
3b92996 uefi: Implement getcwd and chdir
8d35aa9 Rollup merge of rust-lang#131616 - RalfJung:const_ip, r=tgross35
b6cfaeb Rollup merge of rust-lang#131274 - workingjubilee:stabilize-the-one-that-got-away, r=scottmcm
6d8235e Rollup merge of rust-lang#130629 - Dirbaio:net-from-octets, r=tgross35
88634c8 Rollup merge of rust-lang#128967 - devnexen:get_path_fbsd_upd, r=joboet
d6318f3 Auto merge of rust-lang#126557 - GrigorenkoPV:vec_track_caller, r=joboet
d11e388 Auto merge of rust-lang#131662 - matthiaskrgr:rollup-r1wkfxw, r=matthiaskrgr
089c495 rename rcbox in other places as per review comments
2cfa6d0 core/net: use hex for ipv6 doctests for consistency.
9ae0e8b core/net: add Ipv[46]Addr::from_octets, Ipv6Addr::from_segments
da6c63c Rollup merge of rust-lang#131646 - RalfJung:unix-miri-fallbacks, r=joboet
87ea4bb Rollup merge of rust-lang#131644 - RalfJung:win-miri, r=joboet
928b99c library: xous: mark alloc as `FIXME(static_mut_refs)`
dde2ff0 xous: ffi: correct syscall number for adjust_process
c3955e4 net: fix dead code warning
3919c4f std: xous: add support for args and env
9c1e162 Auto merge of rust-lang#125679 - clarfonthey:escape_ascii, r=joboet
262c3fb unwind: update unwinding dependency to 0.2.3
4c63749 sys/unix: add comments for some Miri fallbacks
e3f701c remove outdated comment now that Miri is on CI
e2c210e sys/windows: remove miri hack that is only needed for win7
1799481 switch unicode-data back to 'static'
ddfd2ea merge const_ipv4 / const_ipv6 feature gate into 'ip' feature gate
b6c0376 Rollup merge of rust-lang#131418 - coolreader18:wasm-exc-use-stdarch, r=bjorn3
1ee9b69 Rollup merge of rust-lang#131120 - tgross35:stabilize-const_option, r=RalfJung
6fc4b1a Fix bug where `option_env!` would return `None` when env var is present but not valid Unicode
d72915f Fix typo thing->thin referring to pointer
a2d85a1 Stabilize `const_option`
4a9ad4a Rollup merge of rust-lang#131617 - RalfJung:const_cow_is_borrowed, r=tgross35
113c6c0 Rollup merge of rust-lang#131503 - theemathas:stdin_read_line_docs, r=Mark-Simulacrum
7a51595 remove const_cow_is_borrowed feature gate
7420c36 Rollup merge of rust-lang#131233 - joboet:stdout-before-main, r=tgross35
08e7188 Rollup merge of rust-lang#130954 - workingjubilee:stabilize-const-mut-fn, r=RalfJung
3febfb3 std: fix stdout-before-main
3b820ee library: Stabilize `const_replace`
ee21064 library: Stabilize `const_ptr_write`
36ff2c8 library: Stabilize `const_intrinsic_forget`
4f124de Rollup merge of rust-lang#131289 - RalfJung:duration_consts_float, r=tgross35
de76914 Rollup merge of rust-lang#130962 - nyurik:opts-libs, r=cuviper
76ce3a9 Rollup merge of rust-lang#124874 - jedbrown:float-mul-add-fast, r=saethlin
de18ce1 Avoid superfluous UB checks in `IndexRange`
eb8ff20 Rollup merge of rust-lang#131463 - bjoernager:const-char-encode-utf8, r=RalfJung
964c91b Rollup merge of rust-lang#131287 - RalfJung:const_result, r=tgross35
a8b0950 Rollup merge of rust-lang#131109 - tgross35:stabilize-debug_more_non_exhaustive, r=joboet
637b515 Rollup merge of rust-lang#131065 - Voultapher:port-sort-test-suite, r=thomcc
eeb881d intrinsics.fmuladdf{16,32,64,128}: expose llvm.fmuladd.* semantics
2b6b22c Single commit implementing the enzyme/autodiff frontend
00785c0 stabilize const_result
12b8028 stabilize duration_consts_float
c8d357c Rollup merge of rust-lang#131512 - j7nw4r:master, r=jhpratt
34f7831 rename RcBox in other places too
cd0a8f5 rename RcBox to RcInner for consistency
dd6dd70 Fixing rustDoc for LayoutError.
7fdd545 Rollup merge of rust-lang#130741 - mrkajetanp:detect-b16b16, r=Amanieu
77f7b2f Rollup merge of rust-lang#130538 - ultrabear:ultrabear_const_from_ref, r=workingjubilee
fca0919 More clearly document Stdin::read_line
e4a9064 Stabilise 'const_char_encode_utf8';
8547f51 allocate before calling T::default in <Arc<T>>::default()
669e255 allocate before calling T::default in <Box<T>>::default()
5ef6f83 rustc_target: Add sme-b16b16 as an explicit aarch64 target feature
74264e3 stdarch: Bump stdarch submodule
a5529ee Clean up is_aligned_and_not_null
db5a9a7 Add more precondition check tests
528dda2 Allow zero-size reads/writes on null pointers
86c7526 Optimize escape_ascii
36a90d7 Rollup merge of rust-lang#131462 - cuviper:open_buffered-error, r=RalfJung
49220cd Rollup merge of rust-lang#131449 - nickrum:wasip2-net-decouple-fd, r=alexcrichton
ff37c08 Rollup merge of rust-lang#131383 - AngelicosPhosphoros:better_doc_for_slice_slicing_at_ends, r=cuviper
136ec3a Rollup merge of rust-lang#130827 - fmease:library-mv-obj-save-dyn-compat, r=ibraheemdev
8cdea8c Add "not guaranteed to be equal"
db9377d Mention allocation errors for `open_buffered`
7e225fa Apply suggestions from code review
0ce4f76 Expand `ptr::fn_addr_eq()` documentation.
885e3d1 Library: Rename "object safe" to "dyn compatible"
5f495ee Decouple WASIp2 sockets from WasiFd
78670fb stabilize `{slice,array}::from_mut`
7153288 Update library/std/src/sys/pal/unix/process/process_vxworks.rs
cd0d5be fix ref in process_vxworks.rs
01e7f5f Update library/std/src/sys/pal/unix/process/process_unix.rs
fbb514c Change a few `&Option<T>` into `Option<&T>`
cc1e8b5 Use throw intrinsic from stdarch in wasm libunwind
bc755bb Stabilize Pin::as_deref_mut
fcc990d Stabilize `isqrt` feature
b946b83 Add docs about slicing slices at the ends
9ca739e cfg out checks in add and sub but not offset
8293e74 Add precondition checks to ptr::offset, ptr::add, ptr::sub
c65244c Rollup merge of rust-lang#131308 - mati865:gnullvm-f16-f128, r=tgross35
6a809c7 Rollup merge of rust-lang#128399 - mammothbane:master, r=Amanieu,tgross35
723693e liballoc: introduce String, Vec const-slicing
fee7e5e Auto merge of rust-lang#128651 - folkertdev:naked-asm-macro-v2, r=Amanieu
61eff8f Expand set_ptr_value / with_metadata_of docs
7c3b7e7 Rollup merge of rust-lang#131335 - dacianpascu06:fix-typo, r=joboet
8e3076e Rollup merge of rust-lang#131307 - YohDeadfall:prctl-set-name-dbg-assert, r=workingjubilee
b8c51a6 grammar fix
4ca50c3 disallow `asm!` in `#[naked]` functions
cc09cb0 implement `naked_asm` macro
dbb2281 Rollup merge of rust-lang#131316 - programmerjake:patch-4, r=Noratrieb
4b276e6 Auto merge of rust-lang#131314 - tgross35:update-builtins, r=tgross35
5dc3e7c Fix typo in primitive_docs.rs
686d25d Auto merge of rust-lang#130540 - veera-sivarajan:fix-87525, r=estebank
9555c10 Update `compiler-builtins` to 0.1.133
0f71b38 enable f16 and f128 on windows-gnullvm targets
d14d771 Auto merge of rust-lang#131302 - matthiaskrgr:rollup-56kbpzx, r=matthiaskrgr
b8dd441 Android: Debug assertion after setting thread name
fcd199d Rollup merge of rust-lang#131281 - RalfJung:const-cell, r=Amanieu
71aa514 Auto merge of rust-lang#131221 - XrXr:bump-compiler-builtins, r=tgross35
b7c90c6 library: Stabilize const `MaybeUninit::assume_init_mut`
0418d54 Add a Lint for Pointer to Integer Transmutes in Consts
460459d Rollup merge of rust-lang#131256 - RalfJung:f16-f128-const, r=ibraheemdev
a818a4d Rollup merge of rust-lang#131094 - joboet:lazy_once_box, r=ibraheemdev
2ed6282 make Cell unstably const
575391b move f16/f128 const fn under f16/f128 feature gate
b3da4ed Stabilize `const_slice_split_at_mut` and `const_slice_first_last_chunk`
bbe8bf7 Rollup merge of rust-lang#131267 - okaneco:bufread_skip_until, r=tgross35
65049d1 Rollup merge of rust-lang#131105 - slanterns:literal_c_str, r=petrochenkov
7001dd5 Rollup merge of rust-lang#130403 - eduardosm:stabilize-const_slice_from_raw_parts_mut, r=workingjubilee
0f43ffb Update compiler-builtins to 0.1.132
7d4319e Rollup merge of rust-lang#131177 - workingjubilee:stabilize-const-mut-referees, r=tgross35
6709307 Rollup merge of rust-lang#130518 - scottmcm:stabilize-controlflow-extra, r=dtolnay
b732d23 Stabilize `BufRead::skip_until`
eb2806b Auto merge of rust-lang#130157 - eduardosm:stabilize-const_float_classify, r=RalfJung
c822d33 update libc version
26b231b std::fs::get_path freebsd update.
1bd16cd Rollup merge of rust-lang#131197 - EFanZh:avoid-emptyness-check-in-peekmut-pop, r=Amanieu
8cfa0ca Avoid emptiness check in `PeekMut::pop`
86fa474 Rollup merge of rust-lang#131163 - JakenHerman:master, r=Nadrieril
6b57e57 Auto merge of rust-lang#128711 - clarfonthey:default-iters-hash, r=dtolnay
254af0b Add `get_line` confusable to `Stdin::read_line()`
f89b8dc impl Default for Hash{Map,Set} iterators that don't already have it
0c22ea8 Auto merge of rust-lang#127912 - joboet:tls_dtor_thread_current, r=cuviper
2b4f6ec Auto merge of rust-lang#131148 - Urgau:hashbrown-0.15, r=Amanieu
26013cd library: Stabilize `const_slice_first_last`
51ed903 library: Stabilize `const_unsafecell_get_mut`
cd6c1cc library: Stabilize `const_ptr_as_ref`
ecb0f03 library: Stabilize `const_str_as_mut`
78ad293 library: Stabilize `const_str_from_utf8_unchecked_mut`
db56087 std: make `thread::current` available in all `thread_local!` destructors
d5599a7 Rollup merge of rust-lang#131141 - RalfJung:mpmc-test, r=Amanieu
487946f Update hashbrown to 0.15 and adjust some methods
0d19119 mpmc doctest: make sure main thread waits for child threads
a7d53da Auto merge of rust-lang#130829 - Urgau:option_array_transpose, r=ibraheemdev
7c896fc Auto merge of rust-lang#128204 - GuillaumeGomez:integers-opti, r=workingjubilee
f19cac1 std: replace `LazyBox` with `OnceBox`
e2ebf04 Stabilize `const_slice_from_raw_parts_mut`
a575a8b Auto merge of rust-lang#131111 - matthiaskrgr:rollup-n6do187, r=matthiaskrgr
82e1372 Rollup merge of rust-lang#130773 - bjoernager:master, r=thomcc
b33d815 Rollup merge of rust-lang#130229 - RalfJung:ptr-offset-unsigned, r=scottmcm
bf40ab2 Implemented FromStr for CString and TryFrom<CString> for String
ea51d16 Stabilize `debug_more_non_exhaustive`
f8db877 update `Literal`'s intro
bcfd953 Auto merge of rust-lang#131098 - GuillaumeGomez:rollup-kk74was, r=GuillaumeGomez
3a8939e Rollup merge of rust-lang#131085 - RalfJung:miri-slow-test, r=tgross35
90d63b1 Auto merge of rust-lang#126839 - obeis:mpmc, r=Amanieu
4451aee Remove the need to provide the maximum number of digits to `impl_Display` macro
85c1cec Simplify `impl_Display` macro
c4be3da Small optimization for integers Display implementation
82014ee make test_lots_of_insertions test take less long in Miri
f688d7d Enable `f16` tests on non-GNU Windows
e97c379 Rollup merge of rust-lang#130966 - RalfJung:ptr-metadata-const-stable, r=scottmcm
e4d621e Rollup merge of rust-lang#130961 - tgross35:f16-x86-apple, r=thomcc
3c9808b Rollup merge of rust-lang#130914 - compiler-errors:insignificant-dtor, r=Amanieu
99e9853 Rollup merge of rust-lang#129638 - nickrum:wasip2-net, r=alexcrichton
e2a020e Add multi-producer, multi-consumer channel (mpmc)
cbc9e28 Port sort-research-rs test suite Rust stdlib tests
b362019 Rollup merge of rust-lang#130972 - RalfJung:const_cell_into_inner, r=dtolnay
109f270 Rollup merge of rust-lang#129003 - Voultapher:improve-ord-docs, r=workingjubilee
07542a5 Rollup merge of rust-lang#123932 - adamse:global-alloc-safety-preconds-positive, r=tgross35
2332c3d Rollup merge of rust-lang#130931 - GuillaumeGomez:standalone-crate, r=notriddle
faa018e Rename doctest attribute `standalone-crate` into `standalone_crate` for coherency
e36be64 Rollup merge of rust-lang#130743 - YohDeadfall:net-nonblocking-doc, r=Mark-Simulacrum
a31f882 Rollup merge of rust-lang#130416 - BatmanAoD:130122-sort-by-docs, r=Mark-Simulacrum
08ac3a0 Remove duplicate section
b4307a5 Auto merge of rust-lang#128321 - BatmanAoD:catch-unwind-doc-update, r=Mark-Simulacrum
9ae087c Fix std tests for wasm32-wasip2 target
b0cc902 Hook up std::net to wasi-libc on wasm32-wasip2 target
7311aa8 Auto merge of rust-lang#123778 - jhorstmann:optimize-upper-lower-auto-vectorization, r=the8472
c3d3d1a Enable `f16` tests on x86 Apple platforms
3aae770 Auto merge of rust-lang#129385 - tgross35:more-platforms-enable-f16, r=Mark-Simulacrum
2640736 Auto merge of rust-lang#130792 - tgross35:update-builtins, r=Amanieu
383f0de Rename `standalone` doctest attribute into `standalone-crate`
1f8a773 Update compiler_builtins to 0.1.130
7a5052a Rollup merge of rust-lang#128778 - RalfJung:atomic-read-read-races, r=Mark-Simulacrum
098ada1 Auto merge of rust-lang#130964 - matthiaskrgr:rollup-suriuub, r=matthiaskrgr
81fcbcd Further clarificarion for atomic and UnsafeCell docs:
e7c99a7 allow mixed-size atomic reads
addd05e atomics: allow atomic and non-atomic reads to race
b8c2a2a stabilize const_cell_into_inner
7946445 make ptr metadata functions callable from stable const fn
9f50f5a Auto merge of rust-lang#130897 - workingjubilee:dump-hexes-with-class, r=thomcc
e66058d Rollup merge of rust-lang#130922 - tyilo:udp-unspecified, r=ibraheemdev
1bd2532 Rollup merge of rust-lang#125404 - a1phyr:fix-read_buf-uses, r=workingjubilee
288b9ca Update Unicode escapes;
05590f7 Enable `f16` on platforms that were missing conversion symbols
3a00bff Auto merge of rust-lang#130946 - matthiaskrgr:rollup-ia4mf0y, r=matthiaskrgr
c2bd1e3 Rollup merge of rust-lang#130926 - ChrisDenton:cc-1-1-22, r=tgross35
7ddd566 Rollup merge of rust-lang#129087 - slanterns:option_get_or_insert_default, r=dtolnay
93916ed Mark some more smart pointers as insignificant
118d2e4 Mark some more types as having insignificant dtor
9b4776b Add 'from_ref' and 'from_mut' constructors to 'core::ptr::NonNull';
56523a9 Update Cargo.lock
aabd713 Apply review feedback
df28bde Apply round 1 of review comments
cb0529a Fix mistake in example
a9eb97b Improve Ord docs
04d9145 Reference UNSPECIFIED instead of INADDR_ANY in join_multicast_v4
edc72ca Rollup merge of rust-lang#130892 - tgross35:library-cargo-update, r=Noratrieb
fdf84bf Rollup merge of rust-lang#130875 - folkertdev:naked-asm-bootstrap, r=tgross35
1b3f488 Rollup merge of rust-lang#130846 - ChrisDenton:revert-break, r=Noratrieb
89c9ef6 Rollup merge of rust-lang#130313 - c410-f3r:unlock-rfc-2011, r=thomcc
ea82a96 Rollup merge of rust-lang#130880 - RalfJung:const-hack, r=scottmcm
be1d9d6 Rollup merge of rust-lang#130861 - cuviper:sun-path-offset, r=ibraheemdev
c1c0a1b Rollup merge of rust-lang#130845 - RalfJung:utf8chunk, r=tgross35
805d196 Rollup merge of rust-lang#130279 - theemathas:manually-drop-docs, r=thomcc,traviscross
f40ec5a library: Compute `RUST_EXCEPTION_CLASS` from native-endian bytes
eae051b Partially update `library/Cargo.lock`
532cd85 Add `sun_path` to the fake doc `sockaddr_un`
f0660de add missing FIXME(const-hack)
0580e66 Add `[Option<T>; N]::transpose`
1341724 update `compiler_builtins` to `0.1.126`
cd704d4 add a bootstrap variant of `naked_asm`
a781a4a Stabilize the `map`/`value` methods on `ControlFlow`
ff45313 Use `&raw` in the standard library
3d03634 Use `mem::offset_of!` for `sockaddr_un.sun_path`
f50b2ba Rollup merge of rust-lang#130842 - Noratrieb:tracking-issue-inprogress, r=jieyouxu
c50befe Rollup merge of rust-lang#130832 - RalfJung:sort-cfg-mess, r=workingjubilee
d50c54a Rollup merge of rust-lang#130819 - bjoernager:char-must-use-len-utf, r=Noratrieb
811ce77 Rollup merge of rust-lang#130811 - RalfJung:random, r=joboet
275fb0e Revert Break into the debugger on panic (129019)
f560508 Utf8Chunks: add link to Utf8Chunk
8847429 Add tracking issue for io_error_inprogress
fa38b29 fix some cfg logic around optimize_for_size and 16-bit targets
b9ef35a Auto merge of rust-lang#130816 - matthiaskrgr:rollup-jy25phv, r=matthiaskrgr
e4f89ec Add 'must_use' attribute to 'char::len_utf8' and 'char::len_utf16';
bcb9d23 Rollup merge of rust-lang#130810 - kromych:master, r=workingjubilee
a5a32e2 Rollup merge of rust-lang#130595 - no1wudi:master, r=ibraheemdev
6a06555 Rollup merge of rust-lang#130549 - biabbas:riscv32_wrs_vxworks, r=nnethercote
f67efdd add link from random() helper fn to extensive DefaultRandomSource docs
4a7aeff Auto merge of rust-lang#130803 - cuviper:file-buffered, r=joshtriplett
54834b6 Don't trap into the debugger on panics under Linux
2c408b1 Rollup merge of rust-lang#130789 - aviramha:add_inprogress, r=Noratrieb
8849d13 Rollup merge of rust-lang#130788 - tgross35:memchr-pinning, r=Noratrieb,Mark-Simulacrum
2ab86f0 Add a tracking issue for `file_buffered`
963cefb Dogfood `feature(file_buffered)`
15d69c9 Pre-allocate buffers in `File::open_buffered` and `create_buffered`
eb07a61 Add `File::open_buffered` and `create_buffered`
92d5cef Auto merge of rust-lang#129587 - Voultapher:opt-for-size-variants-of-sort-impls, r=cuviper
c86f1ce add InProgress ErrorKind gated behind io_error_inprogress feature
6d8f5d8 Pin memchr to 2.5.0 in the library rather than rustc_ast
194bbc7 Auto merge of rust-lang#130738 - bjoernager:const-make-ascii, r=jhpratt
c47920f Initial std library support for NuttX
622d08c Mark and implement 'make_ascii_uppercase' and 'make_ascii_lowercase' in '[u8]' and 'str' as const;
668b21a Rollup merge of rust-lang#130762 - RalfJung:const_intrinsic_copy, r=dtolnay
43a4d34 Rollup merge of rust-lang#129545 - notriddle:notriddle/toolbar-v2, r=GuillaumeGomez
57557c9 Add a comment to `Read::read_buf`
4a11249 Add tests
f342675 Fix `io::default_read_to_end` uses of `read_buf`
57f279d Fix `io::BufReader` uses of `read_buf`
8472204 Fix `io::Take::read_buf`
db0f337 stabilize const_intrinsic_copy
27136c4 Add fast path for ascii to ascii in str::replace
fc983ba Fix up standard library intro
6d41b99 Clarifications for set_nonblocking methods
f5406a5 Improve autovectorization of to_lowercase / to_uppercase functions
bab810c random: add tracking issue, address other comments
849258c std: switch to faster random sources on macOS and most BSDs
a095a76 std: implement the `random` feature
ba6158c Rollup merge of rust-lang#130723 - D0liphin:master, r=workingjubilee
776d9ef Rollup merge of rust-lang#130713 - bjoernager:const-char-make-ascii, r=Noratrieb
337c634 Rollup merge of rust-lang#130659 - bjoernager:const-char-encode-utf16, r=dtolnay
8ffc170 Rollup merge of rust-lang#129550 - kornelski:boxasstr, r=joshtriplett,dtolnay
a28cdff Reformat using the new identifier sorting from rustfmt
07a62f4 reword edge-conditions documentation on all slice 'sort' functions; resolves rust-lang#130122
9bcb2d9 Add test for `available_parallelism()`
474b9af Mark 'make_ascii_uppercase' and 'make_ascii_lowercase' in 'u8' as const; Rename 'const_char_make_ascii' feature gate to 'const_make_ascii';
b3d4fde Rollup merge of rust-lang#130692 - RalfJung:result-flatten, r=Noratrieb
55becb0 Rollup merge of rust-lang#130670 - the8472:read-to-end-heuristics, r=ChrisDenton
202df81 Rollup merge of rust-lang#130658 - EqualMa:patch-1, r=scottmcm
9c26e05 Auto merge of rust-lang#130697 - bjoernager:const-char-make-ascii, r=dtolnay
36b115f Mark 'make_ascii_uppercase' and 'make_ascii_lowercase' in 'char' as const;
98aba66 make unstable Result::flatten a const fn
d098993 Rollup merge of rust-lang#130653 - RalfJung:result-abi-compat, r=traviscross
2953dee Rollup merge of rust-lang#130408 - okaneco:into_lossy_refactor, r=Noratrieb
94105e8 wait for two short reads before uncapping the max read size
dea467a Mark and implement 'char::encode_utf16' as const; Rewrite 'encode_utf16_raw';
49128a4 Fix docs of compare_bytes
db6427b ABI compatibility: mention Result guarantee
1632f8f Reword ManuallyDrop+Box interaction
4969ea8 Rollup merge of rust-lang#129718 - lolbinarycat:remove_dir-docs, r=Noratrieb
c11b3aa Avoid re-validating UTF-8 in `FromUtf8Error::into_utf8_lossy`
93f5e21 Auto merge of rust-lang#130631 - GuillaumeGomez:rollup-jpgy1iv, r=GuillaumeGomez
a7aac1e Remove double spaces
74935ec Rollup merge of rust-lang#130624 - theemathas:vec_as_non_null, r=Noratrieb
2c9a4e3 Rollup merge of rust-lang#130611 - bjoernager:const-char-encode-utf8, r=dtolnay
25ab8ef Rollup merge of rust-lang#130526 - eholk:pin-reborrow, r=compiler-errors
97c4937 Rollup merge of rust-lang#128209 - beetrees:no-macos-10.10, r=jieyouxu
3e5c662 Auto merge of rust-lang#124895 - obeis:static-mut-hidden-ref, r=compiler-errors
31d575b Add `Vec::as_non_null`
54e23b5 Address diagnostics regression for 'const_char_encode_utf8';
557a0b8 Allow unused unsafe for vxworks in alligned_malloc to resolve build errors
7ae6827 [Clippy] Remove final std paths for diagnostic item
7b1c5e8 Allow shortening reborrows
86240c7 Add `#[track_caller]` to allocating methods of `Vec` & `VecDeque`
3394557 Rollup merge of rust-lang#130554 - ShE3py:unsupported-exitcode, r=Noratrieb
17b0e39 Rollup merge of rust-lang#130553 - GnomedDev:remove-clippy-paths, r=compiler-errors
64a5984 Rollup merge of rust-lang#128001 - Krappa322:master, r=scottmcm
81c4805 Add str.as_str() for easy dereferencing of Box<str>
4ea6b82 `pal::unsupported::process::ExitCode`: use an `u8` instead of a `bool`
cb771b2 [Clippy] Swap `open_options` to use diagnostic items instead of paths
04bd505 [Clippy] Swap `iter_over_hash_type` to use diagnostic items instead of paths
8147cf4 [Clippy] Swap `non_octal_unix_permissions` to use diagnostic item instead of path
1b0be2a [Clippy] Swap `unnecessary_owned_empty_strings` to use diagnostic item instead of path
9edfe1d [Clippy] Swap `manual_strip` to use diagnostic items instead of paths
995238c [Clippy] Swap `unnecessary_to_owned` to use diagnostic item instead of path
c1a4a69 [Clippy] Swap `instant_subtraction` to use diagnostic item instead of path
beaebb5 [Clippy] Swap `waker_clone_wake` to use diagnostic item instead of path
925c1c4 [Clippy] Swap `filter_map_bool_then` to use diagnostic item instead of path
7bc30a7 [Clippy] Swap `manual_while_let_some` to use diagnostic items instead of paths
08b676d [Clippy] Swap `repeat_vec_with_capacity` to use diagnostic item instead of path
b95bef0 [Clippy] Swap `VecArgs::hir` to use diagnostic items instead of paths
6906fa9 [Clippy] Swap `single_char_add_str`/`format_push_string` to use diagnostic items instead of paths
b2dc66e [Clippy] Swap `manual_main_separator_str` to use diagnostic item instead of path
a61b7b7 [Clippy] Swap `redundant_clone` to use diagnostic items instead of paths
3310a0b [Clippy] Swap `float_equality_without_abs` to use diagnostic items instead of paths
6ef72c4 [Clippy] Swap `option_as_ref_deref` to use diagnostic items instead of paths
b8c0c3b [Clippy] Swap `lines_filter_map_ok` to use a diagnostic item instead of path
116e527 [Clippy] Swap `map_entry` to use diagnostic items instead of paths
03ff0df Auto merge of rust-lang#130547 - workingjubilee:rollup-tw30khz, r=workingjubilee
6210ecb Auto merge of rust-lang#130511 - bjoernager:const-char-encode-utf8, r=dtolnay
ccb31b8 run `x.py fmt`
9510c76 remove feature attributes as const_maybe_uninit_as_mut_ptr is stabilized
c12546b stabilize `const_maybe_uninit_as_mut_ptr`
e94c080 Mark and implement 'char::encode_utf8' as const.
1509944 Rollup merge of rust-lang#130522 - GnomedDev:clippy-manual-retain-paths, r=compiler-errors
8a9576c Rollup merge of rust-lang#130513 - shekhirin:fs-write-doc-comment, r=cuviper
d53d48a Rollup merge of rust-lang#130487 - cuviper:min-llvm-18, r=nikic
f63c0c1 Rollup merge of rust-lang#130476 - workingjubilee:more-lazy-methods-take-2, r=Amanieu
09e36ad Rollup merge of rust-lang#129934 - ChrisDenton:remove-dir-all3, r=Amanieu
5480d57 Rollup merge of rust-lang#97524 - ibraheemdev:thread-raw, r=ibraheemdev
886fc13 Revert "Add a hack to prevent proc_macro misopt in CI"
56704d4 Begin experimental support for pin reborrowing
262a08b library: Call it really_init_mut to avoid name collisions
51023b5 library: Destabilize Lazy{Cell,Lock}::{force,deref}_mut
ff51d9f [Clippy] Swap `manual_retain` to use diagnostic items instead of paths
28695bf Auto merge of rust-lang#130497 - saethlin:alloc-zeroed-is-unstable, r=bjorn3
8f6ca5b Clarify docs for std::fs::File::write
b19bf06 Auto merge of rust-lang#129491 - StackOverflowExcept1on:master, r=m-ou-se
37eb770 Auto merge of rust-lang#129845 - scottmcm:redo-layout, r=Noratrieb
cc10a76 Take more advantage of the `isize::MAX` limit in `Layout`
d740b8d read_volatile __rust_no_alloc_shim_is_unstable in alloc_zeroed
c4fe01a add `Thread::{into_raw, from_raw}`
e65d8e8 Rollup merge of rust-lang#130481 - krtab:clamp_partial_ord, r=cuviper
f3a53b7 Auto merge of rust-lang#130483 - matthiaskrgr:rollup-q1r0g0y, r=matthiaskrgr
46a0aa8 Remove uneeded PartialOrd bound in cmp::Ord::clamp
c83fbfd Rollup merge of rust-lang#130467 - RalfJung:miri-sync, r=RalfJung
6893990 Rollup merge of rust-lang#129674 - matthewpipie:rc-arc-new-cyclic-in, r=dtolnay
a0f4a4b Implement ACP 429: add `Lazy{Cell,Lock}::get[_mut]` and `force_mut`
7505e29 Rollup merge of rust-lang#128535 - mmvanheusden:master, r=workingjubilee
8a5922f Auto merge of rust-lang#130145 - fee1-dead-contrib:repeatn, r=lcnr,workingjubilee
c15d489 Merge from rustc
e80d16c Rollup merge of rust-lang#130448 - alilleybrinker:master, r=workingjubilee
cd8a7af Update library/alloc/src/sync.rs
2819604 Auto merge of rust-lang#127633 - SamuelMarks:eq-exit-code, r=dtolnay
49a855d fix: Remove duplicate `LazyLock` example.
9af97fc Rollup merge of rust-lang#127879 - kornelski:bad-pointer-printf, r=workingjubilee
2c1bd02 Merge from rustc
fc9c900 Auto merge of rust-lang#130220 - RalfJung:float-classify, r=workingjubilee
35edcb6 update docs for `catch_unwind` & related funcs
ee67105 Rollup merge of rust-lang#130339 - CAD97:unwind-choice, r=dtolnay
f396849 simplify abort_unwind
b66efdd Rollup merge of rust-lang#129439 - okaneco:vec_string_lossy, r=Noratrieb
af73374 Rollup merge of rust-lang#130381 - workingjubilee:sometimes-code-really-is-self-descriptive, r=Noratrieb
524402a Rollup merge of rust-lang#130118 - RalfJung:unwrap_unchecked, r=Noratrieb
3dccb86 Rollup merge of rust-lang#129195 - RalfJung:const-mut-refs, r=fee1-dead
524a5e1 also stabilize const_refs_to_cell
29c8eef const_refs_to_cell: dont let mutable references sneak past the interior mutability check
5671193 stabilize const_mut_refs
085baa2 library: Compute Rust exception class from its string repr
fc53427 Rollup merge of rust-lang#130214 - RalfJung:zeroed, r=Mark-Simulacrum
0e7d343 Rollup merge of rust-lang#130061 - theemathas:box_vec_non_null, r=MarkSimulacrum,workingjubilee
09f1d40 Rollup merge of rust-lang#130042 - lolbinarycat:bufreaker_peek_eof, r=Amanieu
0fd6e23 Add tracking issue number for `box_vec_non_null`
d38c59a Rollup merge of rust-lang#130290 - passcod:stabilise-entry-insert, r=ChrisDenton
96b5b7c Rollup merge of rust-lang#130268 - RalfJung:simd-shuffle-idx-vector, r=compiler-errors
79d937d simd_shuffle: require index argument to be a vector
857ad22 Rollup merge of rust-lang#130053 - glowcoil:next_if-docs, r=jhpratt
9c71d4e add std::panic::abort_unwind
91ebe06 add core::panic::abort_unwind
f30a0ad Merge from rustc
24fa8b9 Rustfmt
4f3d542 [`cfg_match`] Generalize inputs
80f8aeb Fix awkward wording.
84d77be Address WaffleLapkin's comments
84da2fc Update tests for hidden references to mutable static
34e22e8 Rollup merge of rust-lang#130245 - RalfJung:miri-alloc-backtrace, r=Amanieu
ba73022 Stabilize entry_insert
283ce13 Auto merge of rust-lang#130281 - matthiaskrgr:rollup-1b2ibs8, r=matthiaskrgr
ac68273 Rollup merge of rust-lang#130101 - RalfJung:const-cleanup, r=fee1-dead
6695a56 Document subtleties of `ManuallyDrop`
1128894 Stabilize `const_float_classify`
0de0540 Auto merge of rust-lang#129992 - alexcrichton:update-compiler-builtins, r=tgross35
553ca3f also update the wrapping_ docs to use similar wording
27049a0 Rollup merge of rust-lang#130160 - Scripter17:fix-slice-first_mut-doc, r=Amanieu
03dedd9 Rollup merge of rust-lang#125060 - ChrisJefferson:pathbuf-doc, r=workingjubilee
abe63f6 simplify float::classify logic
34e4b6d Fixup docs for PathBuf
22ffa3d Expand PathBuf documentation
4afc77f Merge from rustc
5997b68 Auto merge of rust-lang#130183 - Marcondiro:unicode-16.0.0, r=Manishearth
60b4cf8 Rollup merge of rust-lang#130248 - nyurik:fix-129895, r=workingjubilee
136504a Rollup merge of rust-lang#130168 - juliusl:pr/fix-win-fs-change-time-links, r=ChrisDenton
e9cd33c Rollup merge of rust-lang#130077 - madsmtm:watchos-arm-unwind, r=workingjubilee
0ff8428 Rollup merge of rust-lang#129835 - RalfJung:float-tests, r=workingjubilee
15a8ea1 Rollup merge of rust-lang#129696 - RalfJung:stdarch, r=Amanieu
e977a44 Limit `libc::link` usage to `nto70` target only, not NTO OS
acd2526 various updates based on review
dbf585c make basic allocation functions track_caller in Miri for nicer backtraces
3e2ea2b chore: remove struct details
6ff27d2 Rollup merge of rust-lang#130207 - GrigorenkoPV:ERROR_CANT_RESOLVE_FILENAME, r=ChrisDenton
0a47644 Rollup merge of rust-lang#130206 - GrigorenkoPV:WSAEDQUOT, r=ChrisDenton
61a646b Rollup merge of rust-lang#129866 - root-goblin:patch-1, r=workingjubilee
bfe2669 docs: remove struct info
3c00ffa ptr::add/sub: these are *not* equivalent to offset(count as isize)
e8ddc86 update stdarch
a55bf34 MaybeUninit::zeroed: mention that padding is not zeroed
04c4ab4 clean up internal comments about float semantics
fc9b01f these tests seem to work fine on i586 these days
95de48b Auto merge of rust-lang#129403 - scottmcm:only-array-simd, r=compiler-errors
95f9af0 Clarify docs for std::collections
cc0044c Map `ERROR_CANT_RESOLVE_FILENAME` to `ErrorKind::FilesystemLoop`
fde9f6b Map `WSAEDQUOT` to `ErrorKind::FilesystemQuotaExceeded`
22c4e8e Auto merge of rust-lang#130025 - Urgau:missing_docs-expect, r=petrochenkov
0eb5d75 Bump unicode printable to version 16.0.0
17e1039 Bump unicode_data to version 16.0.0
4d5609f Auto merge of rust-lang#130179 - workingjubilee:rollup-l78cv44, r=workingjubilee
d9d3751 Ban non-array SIMD
7e4cfbc Rollup merge of rust-lang#130164 - RalfJung:const_ptr_as_ref, r=dtolnay
3fdbce0 Rollup merge of rust-lang#130146 - folkertdev:bootstrap-naked-asm, r=Amanieu
0bbb25d Rollup merge of rust-lang#130132 - sunshowers:illumos-sigsegv, r=Noratrieb
ec7fd8a Rollup merge of rust-lang#128316 - GrigorenkoPV:io_error_a_bit_more, r=dtolnay
237b11d Auto merge of rust-lang#129778 - RalfJung:interp-lossy-typed-copy, r=saethlin
b47535f chore: removing supporting links in favor of existing doc-comment style
b6f9e80 maint: update docs for change_time ext and doc links
f7b7aa3 Rollup merge of rust-lang#130154 - okaneco:stabilize_char_min, r=cuviper
5a87e4c Rollup merge of rust-lang#130067 - madsmtm:clean-up-fs-test, r=ChrisDenton
41cd571 move const fn with a null check into const_ptr_is_null gate
f28b1d1 move some const fn out of the const_ptr_as_ref feature
4b1440a Fix slice::first_mut docs pointer -> reference
2bc7f6c Stabilize `char::MIN`
d257159 fix UB in a test
931d271 Add missing `#[allow(missing_docs)]` on hack functions in alloc
4f77831 `RepeatN`: use MaybeUninit
0414a2e bootstrap `naked_asm!` for `compiler-builtins`
2582bbb Rollup merge of rust-lang#130115 - eduardosm:needless-returns-libs, r=workingjubilee
e8d9b85 Rollup merge of rust-lang#130107 - RalfJung:const-ptr-is-null, r=oli-obk
2e128a2 Rollup merge of rust-lang#130090 - RalfJung:result-copied, r=Noratrieb
2ee8304 Rollup merge of rust-lang#130087 - RalfJung:option-const-iter, r=workingjubilee
af9a77d [illumos] enable SIGSEGV handler to detect stack overflows
1b763fc remove const_slice_index annotations, it never had a feature gate anyway
9849587 add FIXME(const-hack)
565b336 move Option::unwrap_unchecked into const_option feature gate
f9a9560 Remove needless returns detected by clippy in libraries
cc4242b const: make ptr.is_null() stop execution on ambiguity
295946c Option, Result: put the &mut variants of 'copied' under the same feature as the '&' variants
4caabcd Auto merge of rust-lang#130002 - orlp:better-div-floor-ceil, r=thomcc
55f602f Auto merge of rust-lang#129019 - kromych:master, r=workingjubilee
84184ab Fix linking error when compiling for 32-bit watchOS
e954412 remove pointless rustc_const_unstable on trait impls
0dc4621 add some FIXME(const-hack)
796ae33 Auto merge of rust-lang#130091 - matthiaskrgr:rollup-kalu1cs, r=matthiaskrgr
64afc03 Rollup merge of rust-lang#130047 - ChrisDenton:win-dbghelp, r=wesleywiser
9448662 Rollup merge of rust-lang#130046 - RalfJung:const_str_as_mut, r=dtolnay
2feca1e Rollup merge of rust-lang#129555 - RalfJung:const_float_bits_conv, r=dtolnay
72723d7 make Result::copied unstably const
5011671 remove 'const' from 'Option::iter'
3a53537 str: make as_mut_ptr and as_bytes_mut unstably const
9469575 restate GlobalAlloc method safety preconditions in terms of what the caller has to do for greater clarity
ff7b661 Remove now redundant check in symlink_hard_link test
459f246 Add `NonNull` convenience methods to `Vec`
a2e7f8b Add `NonNull` convenience methods to `Box`
d1005f5 fix doc comments for Peekable::next_if(_eq)
a9cf084 Remove duplicate impl
7b61eea remove the Clone requirement
d6e859b Win: Add dbghelp to the list of import libraries
335236c properly handle EOF in BufReader::peek
b2d6fdd [library/std/src/process.rs] Remove `Eq` `derive`
678165e Break into the debugger (if attached) on panics (Windows, macOS, Linux, FreeBSD)
b947f0a better implementation of signed div_floor/ceil
355445b [library/std/src/process.rs] Update docstring with @joshtriplett's replacement text
0d4a80e Update compiler-builtins to 0.1.125
5446229 Use non-overlapping swap for inner heapsort loop
670630d Select tiny sorts for 16-bit platforms
cd3d6e8 Shrink heapsort further by combining sift_down loops
bea61da Drop bubble_sort
83938b9 Remove macOS 10.10 dynamic linker bug workaround
be2b964 Win: Open dir for sync access in remove_dir_all
a4c4e23 stabilize const_float_bits_conv
3a754b1 Improve documentation for <integer>::from_str_radix
24eca28 add new_cyclic_in for Arc
88d85a8 improve comments
3e677e3 fix new_cyclic_in for rc
7d4ef17 fix fmt
717e3aa Use simpler branchy swap logic in tiny merge sort
5fa71af add guarantee about remove_dir and remove_file error kinds
ea236f0 add new_cyclic_in for rc
ae57bdf Use last swap optimization in bubblesort
2fa330e Convert cfg blocks to cfg_if
f46fcfe Reduce code duplication by moving partition_lomuto_branchless_simple into quicksort module
1805c29 Add binary-size optimized variants for stable and unstable sort as well as select_nth_unstable
4bc6b1f Pass `fmt::Arguments` by reference to `PanicInfo` and `PanicMessage`
1339c1b Implement feature `string_from_utf8_lossy_owned`
9b21aa0 Document futility of printing temporary pointers
028104e Refer to other docs
e0fe4a7 Add unordered list with possible values for each const
84ea721 Format std::env::consts docstrings
7921401 stabilize `option_get_or_insert_default`
8744732 Partially stabilize `io_error_more`
79855bb [library/std/src/process.rs] `PartialEq` & `Eq` for `ExitCode`

git-subtree-dir: library
git-subtree-split: 771d77c
@cuviper cuviper added the relnotes Marks issues that should be documented in the release notes of the next release. label Nov 22, 2024
wip-sync pushed a commit to NetBSD/pkgsrc-wip that referenced this pull request Nov 30, 2024
Pkgsrc changes compared to rust182:
 * Remove patches related to rust-lang/rust#130110,
   which is now integrated upstream.
 * Remove patch to vendor/cc-1.0.79, now integrated in the current
   vendored cc crate.
 * Checksum updates.

TODO:
 * Cross-compilation fails ref.
   rust-lang/rust#133629

Upstream changes:

Version 1.83.0 (2024-11-28)
==========================

Language
--------
- [Stabilize `&mut`, `*mut`, `&Cell`, and `*const Cell` in const.]
  (rust-lang/rust#129195)
- [Allow creating references to statics in `const` initializers.]
  (rust-lang/rust#129759)
- [Implement raw lifetimes and labels (`'r#ident`).]
  (rust-lang/rust#126452)
- [Define behavior when atomic and non-atomic reads race.]
  (rust-lang/rust#128778)
- [Non-exhaustive structs may now be empty.]
  (rust-lang/rust#128934)
- [Disallow implicit coercions from places of type `!`]
  (rust-lang/rust#129392)
- [`const extern` functions can now be defined for other calling conventions.]
  (rust-lang/rust#129753)
- [Stabilize `expr_2021` macro fragment specifier in all editions.]
  (rust-lang/rust#129972)
- [The `non_local_definitions` lint now fires on less code and
  warns by default.]
  (rust-lang/rust#127117)

Compiler
--------
- [Deprecate unsound `-Csoft-float` flag.]
  (rust-lang/rust#129897)
- Add many new tier 3 targets:
    - [`aarch64_unknown_nto_qnx700`]
      (rust-lang/rust#127897)
    - [`arm64e-apple-tvos`]
      (rust-lang/rust#130614)
    - [`armv7-rtems-eabihf`]
      (rust-lang/rust#127021)
    - [`loongarch64-unknown-linux-ohos`]
      (rust-lang/rust#130750)
    - [`riscv32-wrs-vxworks` and `riscv64-wrs-vxworks`]
      (rust-lang/rust#130549)
    - [`riscv32{e|em|emc}-unknown-none-elf`]
      (rust-lang/rust#130555)
    - [`x86_64-unknown-hurd-gnu`]
      (rust-lang/rust#128345)
    - [`x86_64-unknown-trusty`]
      (rust-lang/rust#130453)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

Libraries
---------
- [Implement `PartialEq` for `ExitCode`.]
  (rust-lang/rust#127633)
- [Document that `catch_unwind` can deal with foreign exceptions
  without UB, although the exact behavior is unspecified.]
  (rust-lang/rust#128321)
- [Implement `Default` for `HashMap`/`HashSet` iterators that don't
  already have it.]
  (rust-lang/rust#128711)
- [Bump Unicode to version 16.0.0.]
  (rust-lang/rust#130183)
- [Change documentation of `ptr::add`/`sub` to not claim equivalence
  with `offset`.]
  (rust-lang/rust#130229).

Stabilized APIs
---------------

- [`BufRead::skip_until`]
  (https://doc.rust-lang.org/stable/std/io/trait.BufRead.html#method.skip_until)
- [`ControlFlow::break_value`]
  (https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.break_value)
- [`ControlFlow::continue_value`]
  (https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.continue_value)
- [`ControlFlow::map_break`]
  (https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.map_break)
- [`ControlFlow::map_continue`]
  (https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.map_continue)
- [`DebugList::finish_non_exhaustive`]
  (https://doc.rust-lang.org/stable/core/fmt/struct.DebugList.html#method.finish_non_exhaustive)
- [`DebugMap::finish_non_exhaustive`]
  (https://doc.rust-lang.org/stable/core/fmt/struct.DebugMap.html#method.finish_non_exhaustive)
- [`DebugSet::finish_non_exhaustive`]
  (https://doc.rust-lang.org/stable/core/fmt/struct.DebugSet.html#method.finish_non_exhaustive)
- [`DebugTuple::finish_non_exhaustive`]
  (https://doc.rust-lang.org/stable/core/fmt/struct.DebugTuple.html#method.finish_non_exhaustive)
- [`ErrorKind::ArgumentListTooLong`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ArgumentListTooLong)
- [`ErrorKind::Deadlock`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.Deadlock)
- [`ErrorKind::DirectoryNotEmpty`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.DirectoryNotEmpty)
- [`ErrorKind::ExecutableFileBusy`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ExecutableFileBusy)
- [`ErrorKind::FileTooLarge`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.FileTooLarge)
- [`ErrorKind::HostUnreachable`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.HostUnreachable)
- [`ErrorKind::IsADirectory`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.IsADirectory)
- [`ErrorKind::NetworkDown`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NetworkDown)
- [`ErrorKind::NetworkUnreachable`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NetworkUnreachable)
- [`ErrorKind::NotADirectory`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NotADirectory)
- [`ErrorKind::NotSeekable`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NotSeekable)
- [`ErrorKind::ReadOnlyFilesystem`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ReadOnlyFilesystem)
- [`ErrorKind::ResourceBusy`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ResourceBusy)
- [`ErrorKind::StaleNetworkFileHandle`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.StaleNetworkFileHandle)
- [`ErrorKind::StorageFull`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.StorageFull)
- [`ErrorKind::TooManyLinks`]
  (https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.TooManyLinks)
- [`Option::get_or_insert_default`]
  (https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.get_or_insert_default)
- [`Waker::data`]
  (https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.data)
- [`Waker::new`]
  (https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.new)
- [`Waker::vtable`]
  (https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.vtable)
- [`char::MIN`]
  (https://doc.rust-lang.org/stable/core/primitive.char.html#associatedconstant.MIN)
- [`hash_map::Entry::insert_entry`]
  (https://doc.rust-lang.org/stable/std/collections/hash_map/enum.Entry.html#method.insert_entry)
- [`hash_map::VacantEntry::insert_entry`]
  (https://doc.rust-lang.org/stable/std/collections/hash_map/struct.VacantEntry.html#method.insert_entry)

These APIs are now stable in const contexts:

- [`Cell::into_inner`]
  (https://doc.rust-lang.org/stable/core/cell/struct.Cell.html#method.into_inner)
- [`Duration::as_secs_f32`]
  (https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.as_secs_f32)
- [`Duration::as_secs_f64`]
  (https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.as_secs_f64)
- [`Duration::div_duration_f32`]
  (https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.div_duration_f32)
- [`Duration::div_duration_f64`]
  (https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.div_duration_f64)
- [`MaybeUninit::as_mut_ptr`]
  (https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.as_mut_ptr)
- [`NonNull::as_mut`]
  (https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.as_mut)
- [`NonNull::copy_from`]
  (https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_from)
- [`NonNull::copy_from_nonoverlapping`]
  (https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_from_nonoverlapping)
- [`NonNull::copy_to`]
  (https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_to)
- [`NonNull::copy_to_nonoverlapping`]
  (https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_to_nonoverlapping)
- [`NonNull::slice_from_raw_parts`]
  (https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.slice_from_raw_parts)
- [`NonNull::write`]
  (https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write)
- [`NonNull::write_bytes`]
  (https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write_bytes)
- [`NonNull::write_unaligned`]
  (https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write_unaligned)
- [`OnceCell::into_inner`]
  (https://doc.rust-lang.org/stable/core/cell/struct.OnceCell.html#method.into_inner)
- [`Option::as_mut`]
  (https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_mut)
- [`Option::expect`]
  (https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.expect)
- [`Option::replace`]
  (https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.replace)
- [`Option::take`]
  (https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.take)
- [`Option::unwrap`]
  (https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.unwrap)
- [`Option::unwrap_unchecked`]
  (https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.unwrap_unchecked)
- [`Option::<&_>::copied`]
  (https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.copied)
- [`Option::<&mut _>::copied`]
  (https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.copied-1)
- [`Option::<Option<_>>::flatten`]
  (https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.flatten)
- [`Option::<Result<_, _>>::transpose`]
  (https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.transpose)
- [`RefCell::into_inner`]
  (https://doc.rust-lang.org/stable/core/cell/struct.RefCell.html#method.into_inner)
- [`Result::as_mut`]
  (https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.as_mut)
- [`Result::<&_, _>::copied`]
  (https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.copied)
- [`Result::<&mut _, _>::copied`]
  (https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.copied-1)
- [`Result::<Option<_>, _>::transpose`]
  (https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.transpose)
- [`UnsafeCell::get_mut`]
  (https://doc.rust-lang.org/stable/core/cell/struct.UnsafeCell.html#method.get_mut)
- [`UnsafeCell::into_inner`]
  (https://doc.rust-lang.org/stable/core/cell/struct.UnsafeCell.html#method.into_inner)
- [`array::from_mut`]
  (https://doc.rust-lang.org/stable/core/array/fn.from_mut.html)
- [`char::encode_utf8`]
  (https://doc.rust-lang.org/stable/core/primitive.char.html#method.encode_utf8)
- [`{float}::classify`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.classify)
- [`{float}::is_finite`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_finite)
- [`{float}::is_infinite`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_infinite)
- [`{float}::is_nan`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_nan)
- [`{float}::is_normal`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_normal)
- [`{float}::is_sign_negative`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_sign_negative)
- [`{float}::is_sign_positive`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_sign_positive)
- [`{float}::is_subnormal`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_subnormal)
- [`{float}::from_bits`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_bits)
- [`{float}::from_be_bytes`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_be_bytes)
- [`{float}::from_le_bytes`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_le_bytes)
- [`{float}::from_ne_bytes`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_ne_bytes)
- [`{float}::to_bits`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_bits)
- [`{float}::to_be_bytes`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_be_bytes)
- [`{float}::to_le_bytes`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_le_bytes)
- [`{float}::to_ne_bytes`]
  (https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_ne_bytes)
- [`mem::replace`]
  (https://doc.rust-lang.org/stable/core/mem/fn.replace.html)
- [`ptr::replace`]
  (https://doc.rust-lang.org/stable/core/ptr/fn.replace.html)
- [`ptr::slice_from_raw_parts_mut`]
  (https://doc.rust-lang.org/stable/core/ptr/fn.slice_from_raw_parts_mut.html)
- [`ptr::write`]
  (https://doc.rust-lang.org/stable/core/ptr/fn.write.html)
- [`ptr::write_unaligned`]
  (https://doc.rust-lang.org/stable/core/ptr/fn.write_unaligned.html)
- [`<*const _>::copy_to`]
  (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to)
- [`<*const _>::copy_to_nonoverlapping`]
  (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to_nonoverlapping)
- [`<*mut _>::copy_from`]
  (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_from)
- [`<*mut _>::copy_from_nonoverlapping`]
  (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_from_nonoverlapping)
- [`<*mut _>::copy_to`]
  (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to-1)
- [`<*mut _>::copy_to_nonoverlapping`]
  (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to_nonoverlapping-1)
- [`<*mut _>::write`]
  (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write)
- [`<*mut _>::write_bytes`]
  (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write_bytes)
- [`<*mut _>::write_unaligned`]
  (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write_unaligned)
- [`slice::from_mut`]
  (https://doc.rust-lang.org/stable/core/slice/fn.from_mut.html)
- [`slice::from_raw_parts_mut`]
  (https://doc.rust-lang.org/stable/core/slice/fn.from_raw_parts_mut.html)
- [`<[_]>::first_mut`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.first_mut)
- [`<[_]>::last_mut`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.last_mut)
- [`<[_]>::first_chunk_mut`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.first_chunk_mut)
- [`<[_]>::last_chunk_mut`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.last_chunk_mut)
- [`<[_]>::split_at_mut`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut)
- [`<[_]>::split_at_mut_checked`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_checked)
- [`<[_]>::split_at_mut_unchecked`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked)
- [`<[_]>::split_first_mut`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_first_mut)
- [`<[_]>::split_last_mut`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_last_mut)
- [`<[_]>::split_first_chunk_mut`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_first_chunk_mut)
- [`<[_]>::split_last_chunk_mut`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_last_chunk_mut)
- [`str::as_bytes_mut`]
  (https://doc.rust-lang.org/stable/core/primitive.str.html#method.as_bytes_mut)
- [`str::as_mut_ptr`]
  (https://doc.rust-lang.org/stable/core/primitive.str.html#method.as_mut_ptr)
- [`str::from_utf8_unchecked_mut`]
  (https://doc.rust-lang.org/stable/core/str/fn.from_utf8_unchecked_mut.html)

Cargo
-----
- [Introduced a new `CARGO_MANIFEST_PATH` environment variable,
  similar to `CARGO_MANIFEST_DIR` but pointing directly to the manifest
  file.]
  (rust-lang/cargo#14404)
- [Added `package.autolib` to the manifest, allowing `[lib]`
  auto-discovery to be disabled.]
  (rust-lang/cargo#14591)
- [Declare support level for each crate in Cargo's Charter / crate docs.]
  (rust-lang/cargo#14600)
- [Declare new Intentional Artifacts as 'small' changes.]
  (rust-lang/cargo#14599)

Rustdoc
-------

- [The sidebar / hamburger menu table of contents now includes the
  `# headers` from the main item's doc comment]
  (rust-lang/rust#120736). This is similar
  to a third-party feature provided by the rustdoc-search-enhancements
  browser extension.

Compatibility Notes
-------------------
- [Warn against function pointers using unsupported ABI strings.]
  (rust-lang/rust#128784)
- [Check well-formedness of the source type's signature in fn
  pointer casts.]
  (rust-lang/rust#129021) This partly closes
  a soundness hole that comes when casting a function item to
  function pointer
- [Use equality instead of subtyping when resolving type dependent paths.]
  (rust-lang/rust#129073)
- Linking on macOS now correctly includes Rust's default deployment
  target. Due to a linker bug, you might have to pass
  `MACOSX_DEPLOYMENT_TARGET` or fix your `#[link]` attributes to
  point to the correct frameworks. See
  <rust-lang/rust#129369>.
- [Rust will now correctly raise an error for `repr(Rust)` written
  on non-`struct`/`enum`/`union` items, since it previous did not
  have any effect.]
  (rust-lang/rust#129422)
- The future incompatibility lint `deprecated_cfg_attr_crate_type_name`
  [has been made into a hard error]
  (rust-lang/rust#129670). It was used to
  deny usage of `#![crate_type]` and `#![crate_name]` attributes in
  `#![cfg_attr]`, which required a hack in the compiler to be able
  to change the used crate type and crate name after cfg expansion.
  Users can use `--crate-type` instead of `#![cfg_attr(..., crate_type
  = "...")]` and `--crate-name` instead of `#![cfg_attr(...,
  crate_name = "...")]` when running `rustc`/`cargo rustc` on the
  command line.  Use of those two attributes outside of `#![cfg_attr]`
  continue to be fully supported.

- Until now, paths into the sysroot were always prefixed with
  `/rustc/$hash` in diagnostics, codegen, backtrace, e.g.
    ```
    thread 'main' panicked at 'hello world', map-panic.rs:2:50
    stack backtrace:
       0: std::panicking::begin_panic
                 at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:616:12
       1: map_panic::main::{{closure}}
                 at ./map-panic.rs:2:50
       2: core::option::Option<T>::map
                 at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/option.rs:929:29
       3: map_panic::main
                 at ./map-panic.rs:2:30
       4: core::ops::function::FnOnce::call_once
                 at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/ops/function.rs:248:5
    note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
    ```
  [RFC 3127 said]
  (https://rust-lang.github.io/rfcs/3127-trim-paths.html#changing-handling-of-sysroot-path-in-rustc)
  > We want to change this behaviour such that, when `rust-src`
    source files can be discovered, the virtual path is discarded
    and therefore the local path will be embedded, unless there is
    a `--remap-path-prefix` that causes this local path to be remapped
    in the usual way.

    [#129687](rust-lang/rust#129687)
    implements this behaviour, when `rust-src` is present at compile
    time, `rustc` replaces `/rustc/$hash` with a real path into
    the local `rust-src` component with best effort.  To sanitize
    this, users must explicitly supply `--remap-path-prefix=<path
    to rust-src>=foo` or not have the `rust-src` component installed.
- The allow-by-default `missing_docs` lint used to disable itself
  when invoked through `rustc --test`/`cargo test`, resulting in
  `#[expect(missing_docs)]` emitting false positives due to the
  expectation being wrongly unfulfilled. This behavior [has now been
  removed]
  (rust-lang/rust#130025), which allows
  `#[expect(missing_docs)]` to be fulfilled in all scenarios, but
  will also report new `missing_docs` diagnostics for publicly
  reachable `#[cfg(test)]` items, [integration test]
  (https://doc.rust-lang.org/cargo/reference/cargo-targets.html#integration-tests)
  crate-level documentation, and publicly reachable items in
  integration tests.
- [The `armv8r-none-eabihf` target now uses the Armv8-R required
  set of floating-point features.]
  (rust-lang/rust#130295)
- [Fix a soundness bug where rustc wouldn't detect unconstrained
  higher-ranked lifetimes in a `dyn Trait`'s associated types that
  occur due to supertraits.]
  (rust-lang/rust#130367)
- [Update the minimum external LLVM version to 18.]
  (rust-lang/rust#130487)
- [Remove `aarch64-fuchsia` and `x86_64-fuchsia` target aliases in
  favor of `aarch64-unknown-fuchsia` and `x86_64-unknown-fuchsia`
  respectively.]
  (rust-lang/rust#130657)
- [The ABI-level exception class of a Rust panic is now encoded
  with native-endian bytes, so it is legible in hex dumps.]
  (rust-lang/rust#130897)
- [Visual Studio 2013 is no longer supported for MSVC targets.]
  (rust-lang/rust#131070)
- [The sysroot no longer contains the `std` dynamic library in its
  top-level `lib/` dir.]
  (rust-lang/rust#131188)
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Dec 5, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rust](https://github.com/rust-lang/rust) | minor | `1.82.0` -> `1.83.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>rust-lang/rust (rust)</summary>

### [`v1.83.0`](https://github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1830-2024-11-28)

[Compare Source](rust-lang/rust@1.82.0...1.83.0)

\==========================

<a id="1.83.0-Language"></a>

## Language

-   [Stabilize `&mut`, `*mut`, `&Cell`, and `*const Cell` in const.](rust-lang/rust#129195)
-   [Allow creating references to statics in `const` initializers.](rust-lang/rust#129759)
-   [Implement raw lifetimes and labels (`'r#ident`).](rust-lang/rust#126452)
-   [Define behavior when atomic and non-atomic reads race.](rust-lang/rust#128778)
-   [Non-exhaustive structs may now be empty.](rust-lang/rust#128934)
-   [Disallow implicit coercions from places of type `!`](rust-lang/rust#129392)
-   [`const extern` functions can now be defined for other calling conventions.](rust-lang/rust#129753)
-   [Stabilize `expr_2021` macro fragment specifier in all editions.](rust-lang/rust#129972)
-   [The `non_local_definitions` lint now fires on less code and warns by default.](rust-lang/rust#127117)

<a id="1.83.0-Compiler"></a>

## Compiler

-   [Deprecate unsound `-Csoft-float` flag.](rust-lang/rust#129897)
-   Add many new tier 3 targets:
    -   [`aarch64_unknown_nto_qnx700`](rust-lang/rust#127897)
    -   [`arm64e-apple-tvos`](rust-lang/rust#130614)
    -   [`armv7-rtems-eabihf`](rust-lang/rust#127021)
    -   [`loongarch64-unknown-linux-ohos`](rust-lang/rust#130750)
    -   [`riscv32-wrs-vxworks` and `riscv64-wrs-vxworks`](rust-lang/rust#130549)
    -   [`riscv32{e|em|emc}-unknown-none-elf`](rust-lang/rust#130555)
    -   [`x86_64-unknown-hurd-gnu`](rust-lang/rust#128345)
    -   [`x86_64-unknown-trusty`](rust-lang/rust#130453)

Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.

<a id="1.83.0-Libraries"></a>

## Libraries

-   [Implement `PartialEq` for `ExitCode`.](rust-lang/rust#127633)
-   [Document that `catch_unwind` can deal with foreign exceptions without UB, although the exact behavior is unspecified.](rust-lang/rust#128321)
-   [Implement `Default` for `HashMap`/`HashSet` iterators that don't already have it.](rust-lang/rust#128711)
-   [Bump Unicode to version 16.0.0.](rust-lang/rust#130183)
-   [Change documentation of `ptr::add`/`sub` to not claim equivalence with `offset`.](rust-lang/rust#130229)

<a id="1.83.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`BufRead::skip_until`](https://doc.rust-lang.org/stable/std/io/trait.BufRead.html#method.skip_until)
-   [`ControlFlow::break_value`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.break_value)
-   [`ControlFlow::continue_value`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.continue_value)
-   [`ControlFlow::map_break`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.map_break)
-   [`ControlFlow::map_continue`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.map_continue)
-   [`DebugList::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugList.html#method.finish_non_exhaustive)
-   [`DebugMap::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugMap.html#method.finish_non_exhaustive)
-   [`DebugSet::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugSet.html#method.finish_non_exhaustive)
-   [`DebugTuple::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugTuple.html#method.finish_non_exhaustive)
-   [`ErrorKind::ArgumentListTooLong`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ArgumentListTooLong)
-   [`ErrorKind::Deadlock`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.Deadlock)
-   [`ErrorKind::DirectoryNotEmpty`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.DirectoryNotEmpty)
-   [`ErrorKind::ExecutableFileBusy`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ExecutableFileBusy)
-   [`ErrorKind::FileTooLarge`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.FileTooLarge)
-   [`ErrorKind::HostUnreachable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.HostUnreachable)
-   [`ErrorKind::IsADirectory`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.IsADirectory)
-   [`ErrorKind::NetworkDown`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NetworkDown)
-   [`ErrorKind::NetworkUnreachable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NetworkUnreachable)
-   [`ErrorKind::NotADirectory`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NotADirectory)
-   [`ErrorKind::NotSeekable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NotSeekable)
-   [`ErrorKind::ReadOnlyFilesystem`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ReadOnlyFilesystem)
-   [`ErrorKind::ResourceBusy`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ResourceBusy)
-   [`ErrorKind::StaleNetworkFileHandle`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.StaleNetworkFileHandle)
-   [`ErrorKind::StorageFull`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.StorageFull)
-   [`ErrorKind::TooManyLinks`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.TooManyLinks)
-   [`Option::get_or_insert_default`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.get_or_insert_default)
-   [`Waker::data`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.data)
-   [`Waker::new`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.new)
-   [`Waker::vtable`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.vtable)
-   [`char::MIN`](https://doc.rust-lang.org/stable/core/primitive.char.html#associatedconstant.MIN)
-   [`hash_map::Entry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/hash_map/enum.Entry.html#method.insert_entry)
-   [`hash_map::VacantEntry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/hash_map/struct.VacantEntry.html#method.insert_entry)

These APIs are now stable in const contexts:

-   [`Cell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.Cell.html#method.into_inner)
-   [`Duration::as_secs_f32`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.as_secs_f32)
-   [`Duration::as_secs_f64`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.as_secs_f64)
-   [`Duration::div_duration_f32`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.div_duration_f32)
-   [`Duration::div_duration_f64`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.div_duration_f64)
-   [`MaybeUninit::as_mut_ptr`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.as_mut_ptr)
-   [`NonNull::as_mut`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.as_mut)
-   [`NonNull::copy_from`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_from)
-   [`NonNull::copy_from_nonoverlapping`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_from_nonoverlapping)
-   [`NonNull::copy_to`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_to)
-   [`NonNull::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_to_nonoverlapping)
-   [`NonNull::slice_from_raw_parts`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.slice_from_raw_parts)
-   [`NonNull::write`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write)
-   [`NonNull::write_bytes`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write_bytes)
-   [`NonNull::write_unaligned`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write_unaligned)
-   [`OnceCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.OnceCell.html#method.into_inner)
-   [`Option::as_mut`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_mut)
-   [`Option::expect`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.expect)
-   [`Option::replace`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.replace)
-   [`Option::take`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.take)
-   [`Option::unwrap`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.unwrap)
-   [`Option::unwrap_unchecked`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.unwrap_unchecked)
-   [`Option::<&_>::copied`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.copied)
-   [`Option::<&mut _>::copied`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.copied-1)
-   [`Option::<Option<_>>::flatten`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.flatten)
-   [`Option::<Result<_, _>>::transpose`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.transpose)
-   [`RefCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.RefCell.html#method.into_inner)
-   [`Result::as_mut`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.as_mut)
-   [`Result::<&_, _>::copied`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.copied)
-   [`Result::<&mut _, _>::copied`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.copied-1)
-   [`Result::<Option<_>, _>::transpose`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.transpose)
-   [`UnsafeCell::get_mut`](https://doc.rust-lang.org/stable/core/cell/struct.UnsafeCell.html#method.get_mut)
-   [`UnsafeCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.UnsafeCell.html#method.into_inner)
-   [`array::from_mut`](https://doc.rust-lang.org/stable/core/array/fn.from_mut.html)
-   [`char::encode_utf8`](https://doc.rust-lang.org/stable/core/primitive.char.html#method.encode_utf8)
-   [`{float}::classify`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.classify)
-   [`{float}::is_finite`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_finite)
-   [`{float}::is_infinite`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_infinite)
-   [`{float}::is_nan`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_nan)
-   [`{float}::is_normal`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_normal)
-   [`{float}::is_sign_negative`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_sign_negative)
-   [`{float}::is_sign_positive`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_sign_positive)
-   [`{float}::is_subnormal`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_subnormal)
-   [`{float}::from_bits`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_bits)
-   [`{float}::from_be_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_be_bytes)
-   [`{float}::from_le_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_le_bytes)
-   [`{float}::from_ne_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_ne_bytes)
-   [`{float}::to_bits`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_bits)
-   [`{float}::to_be_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_be_bytes)
-   [`{float}::to_le_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_le_bytes)
-   [`{float}::to_ne_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_ne_bytes)
-   [`mem::replace`](https://doc.rust-lang.org/stable/core/mem/fn.replace.html)
-   [`ptr::replace`](https://doc.rust-lang.org/stable/core/ptr/fn.replace.html)
-   [`ptr::slice_from_raw_parts_mut`](https://doc.rust-lang.org/stable/core/ptr/fn.slice_from_raw_parts_mut.html)
-   [`ptr::write`](https://doc.rust-lang.org/stable/core/ptr/fn.write.html)
-   [`ptr::write_unaligned`](https://doc.rust-lang.org/stable/core/ptr/fn.write_unaligned.html)
-   [`<*const _>::copy_to`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to)
-   [`<*const _>::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to_nonoverlapping)
-   [`<*mut _>::copy_from`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_from)
-   [`<*mut _>::copy_from_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_from_nonoverlapping)
-   [`<*mut _>::copy_to`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to-1)
-   [`<*mut _>::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to_nonoverlapping-1)
-   [`<*mut _>::write`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write)
-   [`<*mut _>::write_bytes`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write_bytes)
-   [`<*mut _>::write_unaligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write_unaligned)
-   [`slice::from_mut`](https://doc.rust-lang.org/stable/core/slice/fn.from_mut.html)
-   [`slice::from_raw_parts_mut`](https://doc.rust-lang.org/stable/core/slice/fn.from_raw_parts_mut.html)
-   [`<[_]>::first_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.first_mut)
-   [`<[_]>::last_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.last_mut)
-   [`<[_]>::first_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.first_chunk_mut)
-   [`<[_]>::last_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.last_chunk_mut)
-   [`<[_]>::split_at_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut)
-   [`<[_]>::split_at_mut_checked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_checked)
-   [`<[_]>::split_at_mut_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked)
-   [`<[_]>::split_first_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_first_mut)
-   [`<[_]>::split_last_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_last_mut)
-   [`<[_]>::split_first_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_first_chunk_mut)
-   [`<[_]>::split_last_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_last_chunk_mut)
-   [`str::as_bytes_mut`](https://doc.rust-lang.org/stable/core/primitive.str.html#method.as_bytes_mut)
-   [`str::as_mut_ptr`](https://doc.rust-lang.org/stable/core/primitive.str.html#method.as_mut_ptr)
-   [`str::from_utf8_unchecked_mut`](https://doc.rust-lang.org/stable/core/str/fn.from_utf8\_unchecked_mut.html)

<a id="1.83.0-Cargo"></a>

## Cargo

-   [Introduced a new `CARGO_MANIFEST_PATH` environment variable, similar to `CARGO_MANIFEST_DIR` but pointing directly to the manifest file.](rust-lang/cargo#14404)
-   [Added `package.autolib` to the manifest, allowing `[lib]` auto-discovery to be disabled.](rust-lang/cargo#14591)
-   [Declare support level for each crate in Cargo's Charter / crate docs.](rust-lang/cargo#14600)
-   [Declare new Intentional Artifacts as 'small' changes.](rust-lang/cargo#14599)

<a id="1.83-Rustdoc"></a>

## Rustdoc

-   [The sidebar / hamburger menu table of contents now includes the `# headers` from the main item's doc comment](rust-lang/rust#120736). This is similar to a third-party feature provided by the rustdoc-search-enhancements browser extension.

<a id="1.83.0-Compatibility-Notes"></a>

## Compatibility Notes

-   [Warn against function pointers using unsupported ABI strings.](rust-lang/rust#128784)
-   [Check well-formedness of the source type's signature in fn pointer casts.](rust-lang/rust#129021) This partly closes a soundness hole that comes when casting a function item to function pointer
-   [Use equality instead of subtyping when resolving type dependent paths.](rust-lang/rust#129073)
-   Linking on macOS now correctly includes Rust's default deployment target. Due to a linker bug, you might have to pass `MACOSX_DEPLOYMENT_TARGET` or fix your `#[link]` attributes to point to the correct frameworks. See [#&#8203;129369](rust-lang/rust#129369).
-   [Rust will now correctly raise an error for `repr(Rust)` written on non-`struct`/`enum`/`union` items, since it previous did not have any effect.](rust-lang/rust#129422)
-   The future incompatibility lint `deprecated_cfg_attr_crate_type_name` [has been made into a hard error](rust-lang/rust#129670). It was used to deny usage of `#![crate_type]` and `#![crate_name]` attributes in `#![cfg_attr]`, which required a hack in the compiler to be able to change the used crate type and crate name after cfg expansion.
    Users can use `--crate-type` instead of `#![cfg_attr(..., crate_type = "...")]` and `--crate-name` instead of `#![cfg_attr(..., crate_name = "...")]` when running `rustc`/`cargo rustc` on the command line.
    Use of those two attributes outside of `#![cfg_attr]` continue to be fully supported.
-   Until now, paths into the sysroot were always prefixed with `/rustc/$hash` in diagnostics, codegen, backtrace, e.g.

        thread 'main' panicked at 'hello world', map-panic.rs:2:50
        stack backtrace:
           0: std::panicking::begin_panic
                     at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:616:12
           1: map_panic::main::{{closure}}
                     at ./map-panic.rs:2:50
           2: core::option::Option<T>::map
                     at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/option.rs:929:29
           3: map_panic::main
                     at ./map-panic.rs:2:30
           4: core::ops::function::FnOnce::call_once
                     at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/ops/function.rs:248:5
        note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

    [RFC 3127 said](https://rust-lang.github.io/rfcs/3127-trim-paths.html#changing-handling-of-sysroot-path-in-rustc)

    > We want to change this behaviour such that, when `rust-src` source files can be discovered, the virtual path is discarded and therefore the local path will be embedded, unless there is a `--remap-path-prefix` that causes this local path to be remapped in the usual way.

    [#&#8203;129687](rust-lang/rust#129687) implements this behaviour, when `rust-src` is present at compile time, `rustc` replaces `/rustc/$hash` with a real path into the local `rust-src` component with best effort.
    To sanitize this, users must explicitly supply `--remap-path-prefix=<path to rust-src>=foo` or not have the `rust-src` component installed.
-   The allow-by-default `missing_docs` lint used to disable itself when invoked through `rustc --test`/`cargo test`, resulting in `#[expect(missing_docs)]` emitting false positives due to the expectation being wrongly unfulfilled. This behavior [has now been removed](rust-lang/rust#130025), which allows `#[expect(missing_docs)]` to be fulfilled in all scenarios, but will also report new `missing_docs` diagnostics for publicly reachable `#[cfg(test)]` items, [integration test](https://doc.rust-lang.org/cargo/reference/cargo-targets.html#integration-tests) crate-level documentation, and publicly reachable items in integration tests.
-   [The `armv8r-none-eabihf` target now uses the Armv8-R required set of floating-point features.](rust-lang/rust#130295)
-   [Fix a soundness bug where rustc wouldn't detect unconstrained higher-ranked lifetimes in a `dyn Trait`'s associated types that occur due to supertraits.](rust-lang/rust#130367)
-   [Update the minimum external LLVM version to 18.](rust-lang/rust#130487)
-   [Remove `aarch64-fuchsia` and `x86_64-fuchsia` target aliases in favor of `aarch64-unknown-fuchsia` and `x86_64-unknown-fuchsia` respectively.](rust-lang/rust#130657)
-   [The ABI-level exception class of a Rust panic is now encoded with native-endian bytes, so it is legible in hex dumps.](rust-lang/rust#130897)
-   [Visual Studio 2013 is no longer supported for MSVC targets.](rust-lang/rust#131070)
-   [The sysroot no longer contains the `std` dynamic library in its top-level `lib/` dir.](rust-lang/rust#131188)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. finished-final-comment-period The final comment period is finished for this PR / Issue. merged-by-bors This PR was explicitly merged by bors. relnotes Marks issues that should be documented in the release notes of the next release. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.