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

float types: move copysign, abs, signum to libcore #131304

Merged
merged 5 commits into from
Nov 14, 2024

Conversation

RalfJung
Copy link
Member

@RalfJung RalfJung commented Oct 5, 2024

These operations are explicitly specified to act "bitwise", i.e. they just act on the sign bit and do not even quiet signaling NaNs. We also list them as "non-arithmetic operations", and all the other non-arithmetic operations are in libcore. There's no reason to expect them to require any sort of runtime support, and from these experiments it seems like LLVM indeed compiles them in a way that does not require any sort of runtime support.

Nominating for @rust-lang/libs-api since this change takes immediate effect on stable.

Part of #50145.

@rustbot
Copy link
Collaborator

rustbot commented Oct 5, 2024

r? @cuviper

rustbot has assigned @cuviper.
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 Oct 5, 2024
@RalfJung RalfJung added T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. I-libs-api-nominated Nominated for discussion during a libs-api team meeting. and removed T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Oct 5, 2024
@rust-log-analyzer

This comment has been minimized.

@workingjubilee
Copy link
Member

workingjubilee commented Oct 5, 2024

abs does not actually require an intrinsic at all anymore... the optimization reasons are moot, in other words, in the minimum LLVM version we support... and can be redefined in terms of its bit operation, LLVM can promote such to fabs: llvm/llvm-project@5c0da5839de1

I was working on PRing such with some tests to validate that no calls to __builtin_fabs or such were generated.

@workingjubilee
Copy link
Member

workingjubilee commented Oct 5, 2024

That said, we can always read the source.
The libcall lowering is here: https://github.com/llvm/llvm-project/blob/461274b81d8641eab64d494accddc81d7db8a09e/llvm/lib/CodeGen/IntrinsicLowering.cpp#L202-L452

It does not generate libcalls for fabs, but it does for fcopysign.

EDIT: There's also this .td file which describes all the runtime libcalls LLVM might lower:

https://github.com/llvm/llvm-project/blob/98723e656618345f05a8e66b18e0f5d37866e75e/llvm/include/llvm/IR/RuntimeLibcalls.def

@RalfJung
Copy link
Member Author

RalfJung commented Oct 5, 2024

It does not generate libcalls for fabs, but it does for fcopysign.

Then either things changed since @Urgau made their experiments or there are some other factors involved...

FWIW we could also implement copysign fairly trivially ourselves:

let sign_bit = mem::size_of::<Self>()*8 - 1;
Self::from_bits(self.abs().to_bits() | (sign.to_bits() & (1 << sign_bit))

@workingjubilee
Copy link
Member

Then either things changed since @Urgau made their experiments or there are some other factors involved...

@RalfJung Architecture and size of the float, the latter of which has become particularly relevant for f128... I believe a lot of things that "shouldn't" generate libcalls nonetheless do for f128.

@workingjubilee
Copy link
Member

my implementation of copysign was

        let sign = sign.abs().to_bits() ^ sign.to_bits();
        Self::from_bits(self.to_bits() | sign)

@RalfJung
Copy link
Member Author

RalfJung commented Oct 5, 2024

Judging from the f16/f128 comments, we do already have things in libcore that generate calls -- I see comments about missing {eq,gt,unord}tf or eqtf2, so seemingly even == or < can generate libcalls. So that shouldn't be a blocker. Also, these are unstable anyway.

Cc @tgross35

@workingjubilee
Copy link
Member

We "just" need to make sure that compiler_builtins supports the relevant libcall.

@RalfJung
Copy link
Member Author

RalfJung commented Oct 5, 2024

my implementation of copysign was

If self is negative, self.to_bits() | sign will always remain negative, won't it? So this implementation doesn't seem right to me.

@workingjubilee
Copy link
Member

workingjubilee commented Oct 5, 2024

Oh, you're right, I meant self.abs().to_bits() | sign

@RalfJung
Copy link
Member Author

RalfJung commented Oct 5, 2024

We "just" need to make sure that compiler_builtins supports the relevant libcall.

I don't see any copysign implementations there.
I was hoping this would be a quick PR... so I'll stop here, unless someone wants to make a compiler-builtins PR.

@RalfJung RalfJung added the S-blocked Status: Blocked on something else such as an RFC or other implementation work. label Oct 5, 2024
@workingjubilee
Copy link
Member

workingjubilee commented Oct 5, 2024

@RalfJung If you cut this down to fabs then I'll go pick up the copysign work.

While I was planning on being extra-pedantic, I expect a compiler should never emit a libcall for fabs. Ever.

@tgross35
Copy link
Contributor

tgross35 commented Oct 5, 2024

fabs and copysign are in the libm repo, not compiler-builtins. Hm... libm isn't nearly as thoroughly tested as compiler-builtins. I'm working on improving this, but it is part of the reason we don't have the other math.h functions in core yet. The functions in this PR are probably low risk but is there a way to have this not be insta-stable?

+1 to what Jubilee is saying, if we can be reasonably certain that the compiler won't emit a libcall for at least f32 and f64 then I think this is more okay.

libm also doesn't have f128 support yet (also a WIP) but there isn't any reason not to just leave the fallbacks there for now.

@workingjubilee
Copy link
Member

workingjubilee commented Oct 5, 2024

As-mentioned, I am absolutely pro-landing-as-is for fabs, because it won't have any trouble with that. If your compiler backend can't lower that without a libcall, throw it out!

Maybe if it legalizes the bitops to @llvm.fabs it might hypothetically do the resizing thing for f16, which is a hypothetical pessimization, but whatever, we should already support the resizing and this isn't about good code, just code that links correctly.

@workingjubilee workingjubilee removed the S-blocked Status: Blocked on something else such as an RFC or other implementation work. label Oct 6, 2024
@workingjubilee
Copy link
Member

workingjubilee commented Oct 6, 2024

Apologies for holding up the works.

I believe I was mislead by the dead rising again in a hollow mockery of the living, and will pursue turning them away upstream:

@RalfJung
Copy link
Member Author

RalfJung commented Oct 6, 2024

fabs and copysign are in the libm repo, not compiler-builtins

That's odd, why would eq and similar functions be in compiler-builtins but the much simpler fabs/copysign are in libm?

@RalfJung
Copy link
Member Author

RalfJung commented Oct 6, 2024

I believe I was mislead by the dead rising again in a hollow mockery of the living, and will pursue turning them away upstream:

Ah, so these libcalls are likely not actually used?

I was working on PRing such with some tests to validate that no calls to __builtin_fabs or such were generated.

Maybe we should have that first before moving these things to libcore. So if you have a good idea for how to write such a test, I'll happily wait for that. :)

@tgross35
Copy link
Contributor

tgross35 commented Oct 6, 2024

That's odd, why would eq and similar functions be in compiler-builtins but the much simpler fabs/copysign are in libm?

It just mirrors how things are split in the C world - compiler-builtins provides the same symbols as LLVM's compiler-rt or libgcc, libm provides whatever is in math.h. We actually ship libm as a module of compiler-builtins and are probably somewhat close to making the symbols always weakly available (we actually had this a few months ago but reverted since our symbols were getting picked first, #128386).

Looking at compiler-rt it doesn't define copysign anywhere but does make use of __builtin_copysign. I assume this has to just be getting lowered to asm since I don't think clang can rely on libm being available. Maybe a good sign that it doesn't ever make this a libcall...

@workingjubilee
Copy link
Member

Ah, so these libcalls are likely not actually used?

Yes, my understanding is that the codepath that does "libcall legalization" of intrinsics happens "last" (speaking very, very loosely) during lowering to the machine level, and thus has several possible upstream chances to "get missed". For instance, maybe LLVM notices a call to copysign can use one of the FSGNJ* instructions on RISCV (a somewhat odd set of instructions that compose two floats with one of three bitops). I couldn't find something in SelectionDAG that guarantees we never hit the switch into Intrinsic::copysign, but I am fully willing to believe one exists somewhere in the remaining 1.99 million lines of code I didn't read, and if my PR is accepted and I am wrong then we'll find out because someone's LLVM choked on it.

@cuviper
Copy link
Member

cuviper commented Oct 9, 2024

r? libs-api

@RalfJung
Copy link
Member Author

RalfJung commented Nov 1, 2024

@dtolnay I resolved the conflicts, so this should be ready for review. :)

It's going to be out of FCP soon.

@rfcbot rfcbot added finished-final-comment-period The final comment period is finished for this PR / Issue. to-announce Announce this issue on triage meeting and removed final-comment-period In the final comment period and will be merged soon unless new substantive objections are raised. labels Nov 2, 2024
@rfcbot
Copy link

rfcbot commented Nov 2, 2024

The final comment period, with a disposition to merge, as per the review above, is now complete.

As the automated representative of the governance process, I would like to thank the author for their work and everyone else who contributed.

This will be merged soon.

@cuviper
Copy link
Member

cuviper commented Nov 11, 2024

Can we now fix this?

// FIXME(#50145): `abs` is publicly unavailable in core due to
// concerns about portability, so this implementation is for
// private use internally.
#[inline]
pub(crate) const fn abs_private(self) -> f64 {
// SAFETY: This transmutation is fine just like in `to_bits`/`from_bits`.
unsafe { mem::transmute::<u64, f64>(mem::transmute::<f64, u64>(self) & !Self::SIGN_MASK) }
}

@RalfJung
Copy link
Member Author

Good point -- yes we can. :) I had to add some rustc_allow_const_fn_unstable for this, so Cc @rust-lang/wg-const-eval. It's completely harmless since those intrinsics can be implemented via to_bits and from_bits fairly easily.

@cuviper Would you like to take over reviewing this PR? :D

@rust-log-analyzer

This comment has been minimized.

@tgross35
Copy link
Contributor

I don't believe this needs libs-api review since FCP completed #131304 (comment). The new use of const_float_methods seems acceptable, especially considering that feature just went into FCP #130843 (comment).

@bors r+

@bors
Copy link
Contributor

bors commented Nov 13, 2024

📌 Commit 2d3c08a has been approved by tgross35

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 Nov 13, 2024
@tgross35 tgross35 assigned tgross35 and unassigned dtolnay Nov 13, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 14, 2024
…kingjubilee

Rollup of 7 pull requests

Successful merges:

 - rust-lang#131304 (float types: move copysign, abs, signum to libcore)
 - rust-lang#132907 (Change intrinsic declarations to new style)
 - rust-lang#132971 (Handle infer vars in anon consts on stable)
 - rust-lang#133003 (Make `CloneToUninit` dyn-compatible)
 - rust-lang#133004 (btree: simplify the backdoor between set and map)
 - rust-lang#133008 (update outdated comment about test-float-parse)
 - rust-lang#133012 (Add test cases for rust-lang#125918)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 5291365 into rust-lang:master Nov 14, 2024
6 checks passed
@rustbot rustbot added this to the 1.84.0 milestone Nov 14, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Nov 14, 2024
Rollup merge of rust-lang#131304 - RalfJung:float-core, r=tgross35

float types: move copysign, abs, signum to libcore

These operations are explicitly specified to act "bitwise", i.e. they just act on the sign bit and do not even quiet signaling NaNs. We also list them as ["non-arithmetic operations"](https://doc.rust-lang.org/nightly/std/primitive.f32.html#nan-bit-patterns), and all the other non-arithmetic operations are in libcore. There's no reason to expect them to require any sort of runtime support, and from [these experiments](rust-lang#50145 (comment)) it seems like LLVM indeed compiles them in a way that does not require any sort of runtime support.

Nominating for `@rust-lang/libs-api` since this change takes immediate effect on stable.

Part of rust-lang#50145.
@RalfJung RalfJung deleted the float-core branch November 14, 2024 11:08
BLANKatGITHUB pushed a commit to BLANKatGITHUB/rust that referenced this pull request Nov 14, 2024
…kingjubilee

Rollup of 7 pull requests

Successful merges:

 - rust-lang#131304 (float types: move copysign, abs, signum to libcore)
 - rust-lang#132907 (Change intrinsic declarations to new style)
 - rust-lang#132971 (Handle infer vars in anon consts on stable)
 - rust-lang#133003 (Make `CloneToUninit` dyn-compatible)
 - rust-lang#133004 (btree: simplify the backdoor between set and map)
 - rust-lang#133008 (update outdated comment about test-float-parse)
 - rust-lang#133012 (Add test cases for rust-lang#125918)

r? `@ghost`
`@rustbot` modify labels: rollup
celinval added a commit to celinval/rust-dev that referenced this pull request Nov 29, 2024
78fc550 Auto merge of rust-lang#133247 - GuillaumeGomez:reduce-integer-display-impl, r=workingjubilee
db5c2c6 Rollup merge of rust-lang#132982 - suaviloquence:2-doc-changed-alloc-methods, r=Mark-Simulacrum
117ad4f Rollup merge of rust-lang#132533 - SUPERCILEX:patch-4, r=Mark-Simulacrum
e2aa7c1 fix `Allocator` method names in `alloc` free function docs
6b141ee Rollup merge of rust-lang#133298 - n0toose:remove-dir-all-but-not-paths, r=Noratrieb
e3691db Rollup merge of rust-lang#133260 - compiler-errors:deref, r=fee1-dead
895f290 Rollup merge of rust-lang#132730 - joboet:after_main_sync, r=Noratrieb
6ffa455 Rollup merge of rust-lang#133389 - eduardosm:stabilize-const_float_methods, r=RalfJung
f413935 Rollup merge of rust-lang#133301 - GuillaumeGomez:add-example-wrapping-neg, r=workingjubilee
6112cfd Auto merge of rust-lang#132611 - compiler-errors:async-prelude, r=ibraheemdev
23a5a0e Auto merge of rust-lang#132597 - lukas-code:btree-plug-leak, r=jhpratt
f0b0942 Constify Deref and DerefMut
d05e8e8 Auto merge of rust-lang#133379 - jieyouxu:rollup-00jxo71, r=jieyouxu
641c1ae Stabilize `const_float_methods`
256c54d Auto merge of rust-lang#133377 - jieyouxu:rollup-n536hzq, r=jieyouxu
dff533f Improve code by using `unsigned_abs`
a850f7c Rollup merge of rust-lang#133237 - fee1-dead-contrib:constadd, r=compiler-errors
99741dd Rollup merge of rust-lang#133332 - bjoernager:const-array-as-mut-slice, r=jhpratt
9a152e2 Rollup merge of rust-lang#131505 - madsmtm:darwin_user_temp_dir, r=dtolnay
a12c838 Auto merge of rust-lang#132994 - clubby789:cc-bisect, r=Kobzol
6548ad8 Auto merge of rust-lang#133360 - compiler-errors:rollup-a2o38tq, r=compiler-errors
a4f797e Rollup merge of rust-lang#133264 - lolbinarycat:os-string-truncate, r=joboet
a939801 Auto merge of rust-lang#132329 - compiler-errors:fn-and-destruct, r=lcnr
30aa6db Add code example for `wrapping_neg` method for signed integers
bc77567 Deduplicate checking drop terminator
6f3ec5c Gate const drop behind const_destruct feature, and fix const_precise_live_drops post-drop-elaboration check
fb6f0c2 Auto merge of rust-lang#133339 - jieyouxu:rollup-gav0nvr, r=jieyouxu
c792ef3 Rollup merge of rust-lang#133337 - ColinFinck:thread-scoped-fix-typo, r=joboet
cfed1c6 Rollup merge of rust-lang#133330 - RalfJung:close, r=the8472
e26edf0 Rollup merge of rust-lang#133313 - thesummer:fix-arc4random, r=cuviper
90a85ef Rollup merge of rust-lang#133288 - bjoernager:const-array-each-ref, r=jhpratt
4e6f154 Rollup merge of rust-lang#133238 - heiher:loong-stdarch-rexport, r=Amanieu
23a1b31 Auto merge of rust-lang#130867 - michirakara:steps_between, r=dtolnay
9693572 Fix typo in `std::thread::Scope::spawn` documentation.
b4a5067 Mark '<[T; N]>::as_mut_slice' as 'const';
b6b40ef library: update comment around close()
6ce7e79 Don't try to use confstr in Miri
40d6e2c Auto merge of rust-lang#129238 - umgefahren:stabilize-ipv6-unique-local, r=dtolnay
276c0fc distinguish overflow and unimplemented in Step::steps_between
8be952b Use arc4random of libc for RTEMS target
4583dde Mention that std::fs::remove_dir_all fails on files
4f6ca37 Mark and implement 'each_ref' and 'each_mut' in '[T; N]' as const;
ec220b6 constify `Add`
3c558bf Rollup merge of rust-lang#131736 - hoodmane:emscripten-wasm-bigint, r=workingjubilee
38d4c11 implement OsString::truncate
4fd2c8d Rollup merge of rust-lang#133226 - compiler-errors:opt-in-pointer-like, r=lcnr
3f03a0f Rollup merge of rust-lang#130800 - bjoernager:const-mut-cursor, r=joshtriplett
eea7e23 Rollup merge of rust-lang#129838 - Ayush1325:uefi-process-args, r=joboet
8b4995a Make PointerLike opt-in as a trait
f74b38a Reduce integer `Display` implementation size
2f179d1 Stabilize const_pin_2
b2dc297 re-export `is_loongarch_feature_detected`
e26c298 Rollup merge of rust-lang#132732 - gavincrawford:as_ptr_attribute, r=Urgau
d6ee9db Rollup merge of rust-lang#133183 - n0toose:improve-remove-dir-docs, r=joboet
40735d3 Rollup merge of rust-lang#125405 - m-ou-se:thread-add-spawn-hook, r=WaffleLapkin
6c20348 Rollup merge of rust-lang#123947 - zopsicle:vec_deque-Iter-as_slices, r=Amanieu
2089cb3 Update doc comments for spawn hook.
c02090d Address review comments.
79bffa9 Fix tracking issue.
3eff64c Add tracking issue.
15bac4f Use Send + Sync for spawn hooks.
a42af06 Add thread Builder::no_hooks().
49ac15b Update thread spawn hooks.
2cc4b2e Use add_spawn_hook for libtest's output capturing.
24a0765 Add std::thread::add_spawn_hook.
50ac725 Correct comments concerning updated dangling pointer lint
cdf5486 Auto merge of rust-lang#133205 - matthiaskrgr:rollup-xhhhp5u, r=matthiaskrgr
543667a Rollup merge of rust-lang#133200 - RalfJung:miri-rwlock-test, r=tgross35
7430eb4 ignore an occasionally-failing test in Miri
607b493 Rollup merge of rust-lang#133182 - RalfJung:const-panic-inline, r=tgross35
e6cd122 Rollup merge of rust-lang#132758 - nnethercote:improve-get_key_value-docs, r=cuviper
a3c9597 Mention std::fs::remove_dir_all in std::fs::remove_dir
bd5c142 Bump `stdarch` to the latest master
e84f865 const_panic: inline in bootstrap builds to avoid f16/f128 crashes
05fecb9 std: allow after-main use of synchronization primitives
c1beb25 Auto merge of rust-lang#133160 - jhpratt:rollup-wzj9q15, r=jhpratt
ce80c9f Rollup merge of rust-lang#133145 - kornelski:static-mutex, r=traviscross
f385ac2 Auto merge of rust-lang#128219 - connortsui20:rwlock-downgrade, r=tgross35
86151ab rename rustc_const_stable_intrinsic -> rustc_intrinsic_const_stable_indirect
a33f889 Improve `{BTreeMap,HashMap}::get_key_value` docs.
15e6fc0 Document alternatives to `static mut`
1cd1dd7 Auto merge of rust-lang#120370 - x17jiri:likely_unlikely_fix, r=saethlin
e475f40 Likely unlikely fix
ddcabfe Rollup merge of rust-lang#133126 - ohno418:fix-String-doc, r=jhpratt
e4eff6a Rollup merge of rust-lang#133116 - RalfJung:const-null-ptr, r=dtolnay
16e6d20 alloc: fix `String`'s doc
e4fb962 clean up const stability around UB checks
ee78601 stabilize const_ptr_is_null
1e4a9ee Rollup merge of rust-lang#132449 - RalfJung:is_val_statically_known, r=compiler-errors
1dfe94c Rollup merge of rust-lang#131717 - tgross35:stabilize-const_atomic_from_ptr, r=RalfJung
70326e8 reduce threads in downgrade test
d58e4f2 fix `DOWNGRADED` bit unpreserved
5d68316 fix memory ordering bug + bad test
0604b8f add safety comments for queue implementation
00255e6 add `downgrade` to `queue` implementation
40256c6 modify queue implementation documentation
f804164 add `downgrade` to `futex` implementation
572aded add simple `downgrade` implementations
48bcf09 add `downgrade` method onto `RwLockWriteGuard`
5416aef add `RwLock` `downgrade` tests
4010980 Rollup merge of rust-lang#133050 - tgross35:inline-f16-f128, r=saethlin
2ee4159 Rollup merge of rust-lang#133048 - cyrgani:ptr-doc-update, r=Amanieu
e1448de Rollup merge of rust-lang#133019 - sorairolake:add-missing-period-and-colon, r=tgross35
b1d31d2 Rollup merge of rust-lang#132984 - sunshowers:pipe2, r=tgross35
8cef1ef Rollup merge of rust-lang#132977 - cberner:fix_solaris, r=tgross35
daa9c43 Rollup merge of rust-lang#132790 - aDotInTheVoid:ioslice-asslice-rides-again, r=cuviper
cdb5ff5 Pass `f16` and `f128` by value in `const_assert!`
60ef479 use `&raw` in `{read, write}_unaligned` documentation
d2983ff Auto merge of rust-lang#132709 - programmerjake:optimize-charto_digit, r=joshtriplett
918cc8d Rollup merge of rust-lang#133027 - no1wudi:master, r=jhpratt
25f5512 Auto merge of rust-lang#133026 - workingjubilee:rollup-q8ig6ah, r=workingjubilee
d8de2cc Fix a copy-paste issue in the NuttX raw type definition
c06bb34 Rollup merge of rust-lang#133008 - onur-ozkan:update-outdated-comment, r=jieyouxu
8eaea39 Rollup merge of rust-lang#133004 - cuviper:unrecover-btree, r=ibraheemdev
81a191a Rollup merge of rust-lang#133003 - zachs18:clonetouninit-dyn-compat-u8, r=dtolnay
e3e5e35 Rollup merge of rust-lang#132907 - BLANKatGITHUB:intrinsic, r=saethlin
f57853b Rollup merge of rust-lang#131304 - RalfJung:float-core, r=tgross35
7bc0436 Auto merge of rust-lang#122770 - iximeow:ixi/int-formatting-optimization, r=workingjubilee
ce2e318 docs: Fix missing colon in methods for primitive types
1870e92 docs: Fix missing period in methods for integer types
6439774 Auto merge of rust-lang#133006 - matthiaskrgr:rollup-dz6oiq5, r=matthiaskrgr
98dad0b update outdated comment about test-float-parse
520d4fd Rollup merge of rust-lang#126046 - davidzeng0:mixed_integer_ops_unsigned_sub, r=Amanieu
e3c425b Auto merge of rust-lang#132662 - RalfJung:const-panic-inlining, r=tgross35
c4b77cf Update core CloneToUninit tests
d4e21f5 btree: simplify the backdoor between set and map
5d61cf9 Bump `cc`
44f376b Fix compilation error on Solaris due to flock usage
75609d6 Auto merge of rust-lang#132556 - clubby789:cargo-update, r=Mark-Simulacrum
5ba28a4 Run `cargo update` and update licenses
0820004 const_panic: don't wrap it in a separate function
d30e2c0 [illumos] use pipe2 to create anonymous pipes
7e12686 Auto merge of rust-lang#132883 - LaihoE:vectorized_is_sorted, r=thomcc
02e32d7 Auto merge of rust-lang#132972 - matthiaskrgr:rollup-456osr7, r=matthiaskrgr
157eb1c Rollup merge of rust-lang#132970 - tyilo:nonzero-u-div-ceil-issue, r=tgross35
03e52a5 Rollup merge of rust-lang#132966 - RalfJung:const_option_ext, r=jhpratt
2f615a1 Rollup merge of rust-lang#132948 - RalfJung:const_unicode_case_lookup, r=Noratrieb
f00e091 Rollup merge of rust-lang#132851 - chansuke:update-comment, r=thomcc
6560098 Auto merge of rust-lang#132870 - Noratrieb:inline-int-parsing, r=tgross35
a0c0c40 Add tracking issue number to unsigned_nonzero_div_ceil feature
c229666 Make `CloneToUninit` dyn-compatible
6ab50dd stabilize const_option_ext
27fe6c7 Rollup merge of rust-lang#132541 - RalfJung:const-stable-extern-crate, r=compiler-errors
7fafe99 stabilize const_unicode_case_lookup
c5ed625 Stabilize `Ipv6Addr::is_unique_local` and `Ipv6Addr::is_unicast_link_local`
e0452c9 adds new declaration to codegen
33fa870 Auto merge of rust-lang#132943 - matthiaskrgr:rollup-164l3ej, r=matthiaskrgr
7f12f02 Rollup merge of rust-lang#132914 - rcorre:cell-grammar, r=tgross35
300a266 Rollup merge of rust-lang#132895 - scottmcm:generalize-nonnull-from-raw-parts, r=ibraheemdev
a461cf9 remove no-longer-needed abs_private
170e993 allow rustc_private feature in force-unstable-if-unmarked crates
4a20245 Rollup merge of rust-lang#132929 - cuviper:check-alloc_zeroed, r=tgross35
992bbf7 Rollup merge of rust-lang#132869 - lolbinarycat:library-fix-too_long_first_doc_paragraph, r=tgross35
e3925fa Rollup merge of rust-lang#132847 - RalfJung:addr-dont-expose, r=Mark-Simulacrum
327a0d7 Auto merge of rust-lang#132919 - matthiaskrgr:rollup-ogghyvp, r=matthiaskrgr
67c3c9f Check for null in the `alloc_zeroed` example
068537a new intrinsic declaration
b689951 new intrinsic declaration
16fa12e Rollup merge of rust-lang#132144 - adetaylor:receiver-trait-itself, r=wesleywiser
54f699d Rollup merge of rust-lang#120077 - SUPERCILEX:set-entry, r=Amanieu
e541a4f Update dangling pointer tests
7707584 Tag relevant functions with #[rustc_as_ptr] attribute
b541c5a Auto merge of rust-lang#132902 - matthiaskrgr:rollup-43qgg3t, r=matthiaskrgr
2d676d4 Update grammar in std::cell docs.
7325f33 Emscripten: link with -sWASM_BIGINT
1c482c9 Rollup merge of rust-lang#130999 - cberner:flock_pr, r=joboet
4dd2270 Auto merge of rust-lang#127589 - notriddle:notriddle/search-sem-3, r=GuillaumeGomez
0af64b6 Generalize `NonNull::from_raw_parts` per ACP362
2fd9ac4 vectorize slice::is_sorted
737521c `#[inline]` integer parsing functions
b9be1dd split up the first paragraph of doc comments for better summaries
f9063ff Update the doc comment of `ASCII_CASE_MASK`
57c7b80 elem_offset / subslice_range: use addr() instead of 'as usize'
d19aa69 Rollup merge of rust-lang#132136 - RalfJung:target-feature-abi-compat, r=Mark-Simulacrum
6b0bd5a honor rustc_const_stable_indirect in non-staged_api crate with -Zforce-unstable-if-unmarked
070baf4 Add as_slice/into_slice for IoSlice/IoSliceMut.
978a553 Rollup merge of rust-lang#132778 - lolbinarycat:io-Error-into_inner-docs, r=cuviper
6d54bfe update io::Error::into_inner to acknowlage io::Error::other
7c0a90c Address review comments
ac66068 Update library/std/src/sys/pal/windows/fs.rs
d90f866 Auto merge of rust-lang#132717 - RalfJung:rustc_safe_intrinsic, r=compiler-errors
f2bf9e6 remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead
2391b4b Rollup merge of rust-lang#132738 - cuviper:channel-heap-init, r=ibraheemdev
086cfef mark is_val_statically_known intrinsic as stably const-callable
dffc5e7 Rollup merge of rust-lang#132696 - fortanix:raoul/rte-235-fix_fmodl_missing_symbol_issue, r=tgross35
f14fc56 Rollup merge of rust-lang#132639 - RalfJung:intrinsics, r=workingjubilee,Amanieu
6d63012 Initialize channel `Block`s directly on the heap
7ff251b core: move intrinsics.rs into intrinsics folder
6244f48 Auto merge of rust-lang#132714 - mati865:update-memchr, r=tgross35
a2eaef7 Rollup merge of rust-lang#132715 - tabokie:fix-lazy-lock-doc, r=Noratrieb
6a77b21 Rollup merge of rust-lang#132665 - tyilo:nonzero-u-div-ceil, r=joboet
79d2063 Separate f128 `%` operation to deal with missing `fmodl` symbol
8022523 Auto merge of rust-lang#132705 - kornelski:inline-repeat, r=tgross35
df9f5db fix lazylock comment
7a82eb5 Auto merge of rust-lang#131888 - ChrisDenton:deopt, r=ibraheemdev
75b9ce3 unpin and update memchr
4d1c7d9 optimize char::to_digit and assert radix is at least 2
95bff3e Inline str::repeat
52c2a45 Rollup merge of rust-lang#132617 - uellenberg:fix-rendered-doc, r=cuviper
28f7e7b Auto merge of rust-lang#131721 - okaneco:const_eq_ignore_ascii_case, r=m-ou-se
41b7e5f Auto merge of rust-lang#132500 - RalfJung:char-is-whitespace-const, r=jhpratt
4ed08bd Add new unstable feature `const_eq_ignore_ascii_case`
f4e9fe4 Auto merge of rust-lang#132664 - matthiaskrgr:rollup-i27nr7i, r=matthiaskrgr
afc66fe Change some code blocks to quotes in rendered std doc
2e63cbd Rollup merge of rust-lang#131261 - clarfonthey:unsafe-cell-from-mut, r=m-ou-se
ab6f663 Auto merge of rust-lang#132661 - matthiaskrgr:rollup-npytbl6, r=matthiaskrgr
8b165db Implement div_ceil for NonZero<unsigned>
6bc1b1b Rollup merge of rust-lang#132571 - RalfJung:const_eval_select_macro, r=oli-obk
c12f4d1 Rollup merge of rust-lang#132473 - ZhekaS:core_fmt_radix_no_panic, r=joboet
bbb9275 Rollup merge of rust-lang#132153 - bjoernager:const-char-encode-utf16, r=dtolnay
919de70 add const_eval_select macro to reduce redundancy
538f5b4 Rollup merge of rust-lang#132609 - NotWearingPants:patch-1, r=Amanieu
86c6f27 Rollup merge of rust-lang#132606 - eduardosm:char-slice-str-pattern-doc, r=tgross35
4660d7e most const intrinsics don't need an explicit rustc_const_unstable any more
8eb30fe add new rustc_const_stable_intrinsic attribute for const-stable intrinsics
792d164 convert all const-callable intrinsics into the new form (without extern block)
fad7d68 docs: fix grammar in doc comment at unix/process.rs
92bb779 Improve example of `impl Pattern for &[char]`
553bb18 Add AsyncFn* to to the prelude in all editions
2ae24bf Fixed typo, rebased
47f60d7 Updated SAFETY comment to address underflow
581aa8d Replace checked slice indexing by unchecked to support panic-free code
c5a0f6c Rollup merge of rust-lang#132579 - RalfJung:rustc-std-workspace-crates, r=Amanieu
9cdbf39 btree: don't leak value if destructor of key panics
4caff13 Stabilise 'const_char_encode_utf16';
84fae7e Auto merge of rust-lang#132586 - workingjubilee:rollup-qrmn49a, r=workingjubilee
95b4127 update rustc-std-workspace crates
082b98d Rollup merge of rust-lang#132423 - RalfJung:const-eval-align-offset, r=dtolnay
3b40634 Auto merge of rust-lang#132434 - tgross35:f128-tests, r=workingjubilee
5dea8b2 Enable `f128` tests on all non-buggy platforms 🎉
2bb8ea3 Auto merge of rust-lang#132581 - workingjubilee:rollup-4wj318p, r=workingjubilee
83bd286 Update `compiler_builtins` to 0.1.138 and pin it
699702f Rollup merge of rust-lang#132563 - frectonz:master, r=Amanieu
4390c35 Auto merge of rust-lang#123723 - madsmtm:apple-std-os, r=dtolnay
1e8ed90 Auto merge of rust-lang#132479 - compiler-errors:fx-feat-yeet, r=fee1-dead
9a3b7c0 Rename the FIXMEs, remove a few that dont matter anymore
ed4f110 Auto merge of rust-lang#132542 - RalfJung:const_panic, r=tgross35
d8bca01 remove const-support for align_offset
76b866c Modify `NonZero` documentation to reference the underlying integer type
9e57964 Rollup merge of rust-lang#132511 - RalfJung:const_arguments_as_str, r=dtolnay
bfeeb74 Rollup merge of rust-lang#132503 - RalfJung:const-hash-map, r=Amanieu
a42fc21 Rollup merge of rust-lang#132499 - RalfJung:unicode_data.rs, r=tgross35
0278cab Rollup merge of rust-lang#132393 - zedddie16:issue-131865-fix, r=tgross35
714115a Rollup merge of rust-lang#131377 - rick-de-water:nonzero-exp, r=dtolnay
9789c54 Rollup merge of rust-lang#129329 - eduardosm:rc-from-mut-slice, r=dtolnay
ff9178b add const_panic macro to make it easier to fall back to non-formatting panic in const
9ef483b stabilize const_arguments_as_str
4c6593f Auto merge of rust-lang#132458 - RalfJung:rustc-const-unstable, r=Amanieu
81b20e0 Rustdoc: added brief colon explanation
73d9f4d Add Set entry API
e883a60 Add BorrowedBuf::into_filled{,_mut} methods to allow returning buffer with original lifetime
261c5b9 remove const_hash feature leftovers
d515da6 const_with_hasher test: actually construct a usable HashMap
11dc6c3 make char::is_whitespace unstably const
1a481fd unicode_data.rs: show command for generating file
3a5b026 get rid of a whole bunch of unnecessary rustc_const_unstable attributes
2e24b7f remove no-longer-needed attribute
ffbcba0 add missing safety comments
768d0cd adjust test gating for f16/f128
6335056 float types: move copysign, abs, signum to libcore
c353337 rustdoc-search: simplify rules for generics and type params
9d10ab7 Implement `From<&mut {slice}>` for `Box/Rc/Arc<{slice}>`
34329c0 Stabilize `const_atomic_from_ptr`
a2e1edf Arbitrary self types v2: (unused) Receiver trait
2d26681 ABI compatibility: remove section on target features
f1c9904 Support lock() and lock_shared() on async IO Files
7f6af4d Revert using `HEAP` static in Windows alloc
541bda1 Implement file_lock feature
d7a7b0a uefi: process: Add args support
14aef3d Use with_capacity(0) because we're reading the capacity later on
5b16abe Prefer `target_vendor = "apple"` on confstr
bc63981 use `confstr(_CS_DARWIN_USER_TEMP_DIR, ...)` as a `TMPDIR` fallback on darwin
f8dc879 Add LowerExp and UpperExp implementations
50afc52 Stabilize UnsafeCell::from_mut
aa74e93 Mark 'get_mut' and 'set_position' in 'std::io::Cursor' as const;
c370665 Make `std::os::darwin` public
797c249 Implement `mixed_integer_ops_unsigned_sub`
ff1212e Add vec_deque::Iter::as_slices and friends
e938dea try adding a test that LowerHex and friends don't panic, but it doesn't work
c6d2bb7 improve codegen of fmt_num to delete unreachable panic

git-subtree-dir: library
git-subtree-split: 78fc550
tautschnig added a commit to tautschnig/verify-rust-std that referenced this pull request Jan 17, 2025
b102eb97611 Rollup merge of #135003 - RalfJung:deprecate-allowed-through-unstable, r=davidtwco
09ccac89813 Rollup merge of #132654 - joboet:lazy_main, r=ChrisDenton
9a5f11b6bdc Auto merge of #135525 - jhpratt:rollup-4gu2wpm, r=jhpratt
808a28bb2e5 Rollup merge of #134678 - zachs18:offset-ptr-update, r=tgross35
038b55923da Rollup merge of #134338 - tgross35:overflowing-c-safe-ret, r=bjorn3,antoyo
afb7906d983 Rollup merge of #134143 - nyurik:err-nul, r=dtolnay
09f7f735638 intrinsics: deprecate calling them via the unstable std::intrinsics path
b1bab8efb30 Update ReadDir::next in std::sys::pal::unix::fs to use `&raw const (*ptr).field` instead of `ptr.offset(...).cast()`.
6b3eb0e11bc Update compiler-builtins to 0.1.143
c26fde2487d Rollup merge of #135423 - compiler-errors:enforce-const-trait-syntactical, r=oli-obk,RalfJung
d4e61054fa0 Enforce syntactical stability of const traits in HIR
8cba3108c65 Update compiler-builtins to 0.1.141
72304171451 add comments explaining main thread identification
de1528ca1d5 std: lazily allocate the main thread handle
7d65632251e Revert "Remove the Arc rt::init allocation for thread info"
1938ccffee3 Auto merge of #135473 - matthiaskrgr:rollup-ksnst4l, r=matthiaskrgr
e57af4cc513 Rollup merge of #135381 - cod10129:vec-splice-doc, r=tgross35
4b1f813eb19 Auto merge of #135359 - RalfJung:lang-start-unwind, r=joboet
3a1522edb09 Auto merge of #135465 - jhpratt:rollup-7p93bct, r=jhpratt
d68853badd5 Rollup merge of #135393 - Ayush1325:uefi-helper-path, r=thomcc
2583e5e939e Add another `Vec::splice` example
e53c5c9c5db uefi: helpers: Introduce OwnedDevicePath
f17b1628cec Rollup merge of #135405 - Ayush1325:path-is-absolute, r=tgross35
41ac367ffc7 path: Move is_absolute check to sys::path
44a9def9f39 Auto merge of #135420 - GuillaumeGomez:rollup-93vepka, r=GuillaumeGomez
242154d7a56 Auto merge of #135384 - saethlin:inline-copy-from-slice, r=joboet
d76bc765c20 Update the explanation for why we use box_new in vec!
a8314e3425d Auto merge of #135402 - matthiaskrgr:rollup-cz7hs13, r=matthiaskrgr
736f71506f1 Rollup merge of #135379 - steffahn:uniquerc-invariant, r=Mark-Simulacrum
f1fd86b54fa Add inherent versions of MaybeUninit methods for slices
50cffd12adb Add #[inline] to copy_from_slice
221253c726d Auto merge of #135360 - RalfJung:structural-partial-eq, r=compiler-errors
8853a8d51d2 Make UniqueRc invariant for soundness
5c997f2acdc avoid nesting the user-defined main so deeply on the stack
1f09d97cbf0 use a single large catch_unwind in lang_start
3093827de07 update and clarify StructuralPartialEq docs
e2f8a108b9a Rename `pos` to `position`
c6dff32f287 Convert `struct FromBytesWithNulError` into enum
e47fc56aa4a Rollup merge of #135347 - samueltardieu:push-qvyxtxsqyxyr, r=jhpratt
d8923fc714a Rollup merge of #135324 - Ayush1325:uefi-fs-unsupported, r=joboet
9709d9bad5d Rollup merge of #135236 - scottmcm:more-mcp807-library-updates, r=ChrisDenton
849afc40e34 Improve the safety documentation on new_unchecked
2add857ca03 Use `NonNull::without_provenance` within the standard library
2764b7e14ab alloc: remove unsound `IsZero` for raw pointers
c577821efe2 Rollup merge of #134693 - SpriteOvO:proc-macro-use-to-tokens-in-quote, r=tgross35
7dbc3bcab16 Rollup merge of #132607 - YohDeadfall:pthread-name-fn-with-result, r=tgross35
ab71837c330 Update a bunch of library types for MCP807
4052574937d Initial fs module for uefi
946c19e04cb Rollup merge of #134908 - madsmtm:ptr-from_ref-docs, r=ibraheemdev
01372432cbb Rollup merge of #134619 - hkBst:patch-7, r=jhpratt
c22148b767f Fix `proc_macro::quote!` for raw ident
c421c1a946a Append `TokenTree` with `ToTokens` in `proc_macro::quote!`
c283b86cc76 Used pthread name functions returning result for FreeBSD and DragonFly
668cb10cba5 Auto merge of #135268 - pietroalbini:pa-bump-stage0, r=Mark-Simulacrum
f3f0119335a Rollup merge of #135269 - estebank:unneeded-into, r=compiler-errors
d7dd4a6bc58 Rollup merge of #135242 - RalfJung:nonnull-provenance, r=jhpratt
a34edcbbb60 Remove some unnecessary `.into()` calls
661c077ae5b fmt
9d29620a31a update cfg(bootstrap)
60fa1562951 update version placeholders
c0e33bf31ca add missing provenance APIs on NonNull
830ee4bb4d6 Rollup merge of #135176 - kornelski:env-example, r=cuviper
790735e2a6d Rollup merge of #134389 - rust-wasi-web:condvar-no-threads, r=m-ou-se
b3fa835baa8 Rollup merge of #133057 - tisonkun:into-chars, r=Amanieu
3987eb22905 Avoid naming variables `str`
7c71ffcfa97 Rollup merge of #135139 - c410-f3r:8-years-rfc, r=jhpratt
6536ec2d9b0 Rollup merge of #131830 - hoodmane:emscripten-wasm-eh, r=workingjubilee
e44be94c9eb More compelling env_clear() examples
5db91e58005 Rollup merge of #135153 - crystalstall:master, r=workingjubilee
cb8cf0fa5d0 Add support for wasm exception handling to Emscripten target
a1da07b21df chore: remove redundant words in comment
b2b55f6bdae Rollup merge of #135111 - tgross35:float-doc-aliases, r=Noratrieb
0bd45849186 [generic_assert] Constify methods used by the formatting system
c200a189c66 Rollup merge of #135121 - okaneco:const_slice_reverse, r=jhpratt
e03872bb30a Mark `slice::reverse` unstably const
0e581b92097 Clarified the documentation on core::iter::from_fn and core::iter::successors
320482169fb Rollup merge of #135110 - matthiaskrgr:adler, r=workingjubilee
e7ca1049aa7 Rollup merge of #135104 - the8472:disable-in-place-iter-for-flatten, r=Mark-Simulacrum
8ffc4e84463 Rollup merge of #134996 - bdbai:uwp-support, r=jieyouxu,ChrisDenton
fee42729979 Add doc aliases for `libm` and IEEE names
f4b33a3e46f library: fix adler{-> 2}.debug
2e05379f866 add regression test for unsound Flatten/FlatMap specialization
9467350f844 do not in-place-iterate over flatmap/flatten
6346a915b55 Rollup merge of #135091 - workingjubilee:backtrace-0.3.75, r=workingjubilee
3ef2891d388 Rollup merge of #135070 - klensy:backtrace-deps, r=workingjubilee
24366d36dce Rollup merge of #135046 - RalfJung:rustc_box_intrinsic, r=compiler-errors
307f559c6c4 Rollup merge of #133964 - joboet:select_unpredictable, r=tgross35
0b2fd26bdc8 Bump backtrace to 0.3.75
3d624d66f11 Rollup merge of #133420 - thesummer:rtems-unwind, r=workingjubilee
6137ccc52ac sync to actual dep verions of backtrace
318269a33f4 turn rustc_box into an intrinsic
bd743cec036 Auto merge of #135059 - matthiaskrgr:rollup-0ka9o3h, r=matthiaskrgr
e74ac082b32 Rollup merge of #134241 - liigo:patch-16, r=dtolnay
53e41a6a5a7 Auto merge of #134692 - GrigorenkoPV:sync_poision, r=tgross35
366ac34fa96 Fix UWP build
cd6c49f49b5 Bump backtrace to rust-lang/backtrace-rs@4d7906b
98ee6c8c68c Auto merge of #122565 - Zoxc:atomic-panic-msg, r=the8472
ffaa2184220 path in detail
aa0e6e8bd1a Move some things to `std::sync::poison` and reexport them in `std::sync`
b8087f526a0 fix doc for missing Box allocator consistency
40434b2c26c Auto merge of #135005 - matthiaskrgr:rollup-5ubuitt, r=matthiaskrgr
32614550fb9 Rollup merge of #134985 - mgsloan:remove-unnecessary-qualification-in-Ord-trait-docs, r=Noratrieb
d5f262cc53a Rename the internal simpler `quote` macro to `minimal_quote`
6c8e14169a9 Auto merge of #134080 - kleisauke:avoid-lfs64-emscripten, r=Noratrieb
33b4b03fe6a Try to write the panic message with a single `write_all` call
8795c3547eb std::fs::DirEntry.metadata(): prefer use of lstat() on Emscripten
fb895251bd9 Avoid use of LFS64 symbols on Emscripten
ed5888769c6 Auto merge of #134969 - Marcondiro:master, r=jhpratt,programmerjake
c1b709541e2 Rollup merge of #131439 - mu001999-contrib:cleanup/static-mut, r=estebank
847cd898006 Remove qualification of `std::cmp::Ordering` in `Ord` doc
e38fc1b0843 Auto merge of #132195 - clarfonthey:bigint-mul, r=scottmcm
4f7e5a623be Auto merge of #134966 - matthiaskrgr:rollup-lmhmgsv, r=matthiaskrgr
aff952b674c char to_digit: avoid unnecessary casts to u64
9e0a6b0a3c4 Rollup merge of #134953 - DiuDiu777:unaligned-doc, r=RalfJung
b003e5812c2 Auto merge of #134620 - ChrisDenton:line-writer, r=tgross35
8b8fd2d5855 Rollup merge of #134930 - RalfJung:ptr-docs-valid-access, r=jhpratt
d487d12d362 Rollup merge of #134927 - DaniPopes:const-as_flattened_mut, r=scottmcm
bfe0d0f6000 fix doc for read write unaligned in zst operation
99ca6ca7611 Auto merge of #134757 - RalfJung:const_swap, r=scottmcm
316349488dc ptr docs: make it clear that we are talking only about memory accesses
b7b6a5d0649 Make slice::as_flattened_mut unstably const
0b1d0d95c67 Fix ptr::from_ref documentation example comment
f26cc531ab6 Rollup merge of #134884 - calciumbe:patch1, r=jieyouxu
b7620c7c1d9 Rollup merge of #134870 - geofft:patch-1, r=jhpratt
9adc4a11633 fix: typos
f5e949debed Rollup merge of #134851 - lukas-code:alloc-ffi, r=tgross35
309cb6599b7 Fix sentence fragment in `pin` module docs
d086afd99b8 docs: inline `alloc::ffi::c_str` types to `alloc::ffi`
15137457840 Auto merge of #134547 - SUPERCILEX:unify-copy, r=thomcc
5807d879643 Rollup merge of #134832 - tgross35:update-builtins, r=tgross35
c6c4ae7c842 Tidy up bigint mul methods
a9e94810233 Rollup merge of #134823 - chloefeal:fix, r=tgross35,dtolnay
0e23de8b41d Update library/alloc/tests/sort/tests.rs
c94032f1779 Update `compiler-builtins` to 0.1.140
a41400395c5 Rollup merge of #133663 - scottmcm:carrying_mul_add, r=Amanieu
764af3bad24 Override `carrying_mul_add` in cg_llvm
18ee1da10b9 Move `{widening, carrying}_mul` to an intrinsic with fallback MIR
559fdf03383 Fix typos
acfeed3d3df Auto merge of #134822 - jieyouxu:rollup-5xuaq82, r=jieyouxu
5fb4df97165 Rollup merge of #134819 - ChrisDenton:trunc, r=Mark-Simulacrum
68b148643ac Rollup merge of #134622 - ChrisDenton:write-file-utf8, r=Mark-Simulacrum
6f23131fac2 Rollup merge of #134606 - RalfJung:ptr-copy-docs, r=Mark-Simulacrum
e290e70bdc1 Auto merge of #134786 - ChrisDenton:fix-rename-symlink, r=tgross35
5cf455ff60d Fix renaming symlinks on Windows
0a3943e9496 Fix mistake in windows file open
051ece2a59c Rollup merge of #134791 - notriddle:notriddle/inline-ffi-error-types, r=tgross35
3a2ca84c46f Rollup merge of #134789 - betrusted-io:bump-unwinding-to-0.25.0, r=Mark-Simulacrum
3cbbd43963e Rollup merge of #134782 - wtlin1228:docs/iter-rposition, r=Mark-Simulacrum
1e8a843e7fd Rollup merge of #134728 - deltragon:barrier-doc, r=tgross35
9b632c12457 Rollup merge of #134649 - SUPERCILEX:statx-remember, r=thomcc
a9b12533594 Rollup merge of #134644 - kpreid:duplicates, r=Mark-Simulacrum
7d72bc6894b Rollup merge of #134379 - bjoernager:slice-as-array, r=dtolnay
c988c5c469a docs: inline `core::ffi::c_str` types to `core::ffi`
f3a43e876b3 docs: inline `std::ffi::c_str` types to `std::ffi`
ef9344328ea unwinding: bump version to fix asm
b5a7e1cb2c3 Impl FromIterator for tuples with arity 1-12
97a492b242e Fix formatting
7bb71817d2d docs: update code example for Iterator#rposition
838b01dae5e stabilize const_alloc_layout
7c4bb0b875d rename typed_swap → typed_swap_nonoverlapping
3d7df0fa2cb stabilize const_swap
adefdcb1aaf Auto merge of #134729 - oliveredget:typo, r=jieyouxu
a76414742c2 Auto merge of #134722 - ChrisDenton:trunc, r=Amanieu
7102c61d871 Auto merge of #134333 - daxpedda:stdarch-bump, r=daxpedda
781fb68dbba Fix compilation issues on other unixes
2b6589fec62 Bump `stdarch`
301f4c8ba3f chore: fix typos
b3642490a4a Use scoped threads in `std::sync::Barrier` examples
efbda65a57a Windows: Use FILE_ALLOCATION_INFO for truncation
0429732714d Rollup merge of #134689 - RalfJung:ptr-swap-test, r=oli-obk
f71f75d522a Rollup merge of #134662 - ionicmc-rs:any-safety-docs, r=Amanieu
6fc5a515b01 core: fix const ptr::swap_nonoverlapping when there are pointers at odd offsets in the type
2a7c4107dd3 Rollup merge of #134363 - estebank:derive-default, r=SparrowLii
6a41c5bd0cd Rollup merge of #134672 - Zalathar:revert-coverage-attr, r=wesleywiser
00523c6df55 Use `#[derive(Default)]` instead of manually implementing it
7a6c4cf81d9 Revert "Auto merge of #130766 - clarfonthey:stable-coverage-attribute, r=wesleywiser"
1d47e6a5af8 Auto merge of #134666 - matthiaskrgr:rollup-whe0chp, r=matthiaskrgr
47eacac789d Auto merge of #131311 - rust-lang:cargo_update, r=clubby789
08311d3b105 Rollup merge of #134642 - kpreid:pointerlike-cell, r=compiler-errors
49d33b15720 Rollup merge of #134583 - Enselic:maybe-uninit-transmute, r=workingjubilee
ce16d167b68 Rollup merge of #130289 - intgr-forks:Permissions-readonly-vs-unix-root, r=ChrisDenton
5ec57233686 Fixes safety docs for `dyn Any + Send {+ Sync}`
e31ed41f4ba Implement `PointerLike` for `isize`, `NonNull`, `Cell`, `UnsafeCell`, and `SyncUnsafeCell`.
736e842fc2a Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper
1a45918d751 docs: Permissions.readonly() also ignores root user special permissions
e15ef644395 Improve prose around `as_slice` example of IterMut
d03b67c2429 Specify only that duplicates are discarded, not the order.
e70cbb149f5 Auto merge of #131193 - EFanZh:asserts-vec-len, r=the8472
619365dce13 Delete `Rvalue::Len`
f913021f500 docs: `transmute<&mut T, &mut MaybeUninit<T>>` is unsound when exposed to safe code
0233b4ec888 Impl String::into_chars
56cc86af99f Rollup merge of #134602 - kpreid:pointerlike-doc, r=tgross35
9549c0c5306 Fix forgetting to save statx availability on success
c50706f5f04 Auto merge of #134640 - matthiaskrgr:rollup-xlstm3o, r=matthiaskrgr
42621a94cbe Document collection `From` and `FromIterator` impls that drop duplicate keys.
22c6dcd7b19 Rollup merge of #134630 - fifty-six:master, r=workingjubilee
9c5420a144f Auto merge of #130733 - okaneco:is_ascii, r=scottmcm
a5f05c31739 cargo update
88936d663d5 Eliminate redundant statx syscalls
ae80bcc9736 Rollup merge of #134325 - theemathas:is_null-docs, r=RalfJung
37803ed66ad Rollup merge of #131072 - Fulgen301:windows-rename-posix-semantics, r=ChrisDenton
3edae543ffa Use `&raw` for `ptr` primitive docs
9f89bf55fb2 Unify fs::copy and io::copy
8f6317d2b8a Windows: Use WriteFile to write to a UTF-8 console
dca1911ca13 Avoid short writes in LineWriter
10f58801c5e Document CTFE behavior of methods that call is_null
52c70cefc4e Correctly document is_null CTFE behavior.
8240334bbea ptr::copy: fix docs for the overlapping case
3d7ea928c48 Rollup merge of #134593 - kornelski:less-unwrap, r=jhpratt
8d44917bb2b Rollup merge of #134579 - hkBst:patch-6, r=jhpratt
d1a3570e402 Rollup merge of #134577 - hkBst:patch-5, r=jhpratt
797d88a4f6e Rollup merge of #134576 - hkBst:patch-4, r=jhpratt
0d4f2977e8f Document `PointerLike` implementation restrictions.
39c036dacf9 Less unwrap() in documentation
9eacbacb845 Rollup merge of #123604 - michaelvanstraten:proc_thread_attribute_list, r=ChrisDenton
605e793d35f Rollup merge of #134573 - lukas-code:unimpl-dyn-pointerlike, r=compiler-errors
03b554d4296 Rollup merge of #134570 - hkBst:patch-3, r=joboet
cb9fd5abb2d Rollup merge of #134560 - RalfJung:miri-thread-spawn, r=jhpratt
8ef4e1708c6 Improve prose around into_slice example of IterMut
490893e4337 Improve prose around `as_slice` example of Iter
346bb96231a Improve prose around basic examples of Iter and IterMut
b2c67187209 remove reference to dangling from slice::Iter
8a76ac07549 fix `PointerLike` docs
ea624faa800 unimplement `PointerLike` for trait objects
0348754b8e8 split up `#[rustc_deny_explicit_impl]` attribute
83961772930 mri: add track_caller to thread spawning methods for better backtraces
47c18d11c25 Rollup merge of #134518 - hltj:typo-fix, r=tgross35
a407b54ba53 Rollup merge of #132830 - wr7:substr_range_documentation, r=tgross35
1e42e55ad7f Rollup merge of #126118 - jan-ferdinand:docs_for_vec_set_len, r=the8472
325c2c83a7d fix typos in the example code in the doc comments of `Ipv4Addr::from_bits()`, `Ipv6Addr::from_bits()` & `Ipv6Addr::to_bits()`
2a30c761db7 build: Update libc version
ff8e6c7266c Rollup merge of #134490 - hong9lol:typo, r=jhpratt
1ef2006c9ff Rollup merge of #132056 - weiznich:diagnostic_do_not_recommend_final_tests, r=compiler-errors
36dec866386 fix typo in ptr/mod.rs
ba3898d82f3 Auto merge of #134443 - joshtriplett:use-field-init-shorthand, r=lqd,tgross35,nnethercote
815119ea508 Rollup merge of #134452 - jalil-salame:fix-lazy-cell-docs, r=tgross35
e5a64b47a53 Add 'into_array' conversion destructors for 'Box', 'Rc', and 'Arc';
1e20f65b874 Implement Condvar::wait_timeout for targets without threads
0d4be900a97 Auto merge of #134425 - clubby789:cargo-update, r=jieyouxu
e94636ef1eb fix(LazyCell): documentation of get[_mut] was wrong
9552b94e220 Stabilize `#[diagnostic::do_not_recommend]`
8f6473ca201 Use field init shorthand where possible
4dd1bd84b80 Rollup merge of #134426 - hkBst:patch-3, r=lqd
439ea50e256 Rollup merge of #133265 - the8472:extract-if-ranges, r=cuviper
5b50e4a613b compiler & tools dependencies:     Updating allocator-api2 v0.2.20 -> v0.2.21     Updating annotate-snippets v0.11.4 -> v0.11.5     Updating anyhow v1.0.93 -> v1.0.94     Updating bstr v1.11.0 -> v1.11.1     Updating chrono v0.4.38 -> v0.4.39     Updating clap v4.5.21 -> v4.5.23     Updating clap_builder v4.5.21 -> v4.5.23     Updating clap_complete v4.5.38 -> v4.5.39     Updating clap_lex v0.7.3 -> v0.7.4     Updating colored v2.1.0 -> v2.2.0     Updating console v0.15.8 -> v0.15.10     Updating crossbeam-channel v0.5.13 -> v0.5.14     Updating crossbeam-deque v0.8.5 -> v0.8.6     Updating crossbeam-utils v0.8.20 -> v0.8.21     Updating encode_unicode v0.3.6 -> v1.0.0     Updating fastrand v2.2.0 -> v2.3.0     Updating home v0.5.9 -> v0.5.11     Updating js-sys v0.3.74 -> v0.3.76     Updating libc v0.2.167 -> v0.2.168     Updating miniz_oxide v0.8.0 -> v0.8.1     Updating pest v2.7.14 -> v2.7.15     Updating pest_derive v2.7.14 -> v2.7.15     Updating pest_generator v2.7.14 -> v2.7.15     Updating pest_meta v2.7.14 -> v2.7.15     Updating redox_syscall v0.5.7 -> v0.5.8     Updating rustc-stable-hash v0.1.0 -> v0.1.1     Updating rustix v0.38.41 -> v0.38.42     Updating self_cell v1.0.4 -> v1.1.0     Updating semver v1.0.23 -> v1.0.24     Updating serde v1.0.215 -> v1.0.216     Updating serde_derive v1.0.215 -> v1.0.216       Adding thiserror v2.0.7       Adding thiserror-impl v2.0.7     Updating time v0.3.36 -> v0.3.37     Updating time-macros v0.2.18 -> v0.2.19     Updating tokio v1.41.1 -> v1.42.0     Updating wasm-bindgen v0.2.97 -> v0.2.99     Updating wasm-bindgen-backend v0.2.97 -> v0.2.99     Updating wasm-bindgen-macro v0.2.97 -> v0.2.99     Updating wasm-bindgen-macro-support v0.2.97 -> v0.2.99     Updating wasm-bindgen-shared v0.2.97 -> v0.2.99     Updating wasm-encoder v0.221.0 -> v0.221.2     Updating wasmparser v0.221.0 -> v0.221.2     Updating wast v221.0.0 -> v221.0.2     Updating wat v1.221.0 -> v1.221.2
fbac32d2761 Auto merge of #130766 - clarfonthey:stable-coverage-attribute, r=wesleywiser
f8d5f2f5031 Fix typo in uint_macros.rs
773ce8e12e0 Rollup merge of #134202 - nnethercote:rm-existing_doc_keyword, r=GuillaumeGomez
1ea6333e43b Remove `rustc::existing_doc_keyword` lint.
879b904eae9 Move `doc(keyword = "while")`.
d655fd187d6 Stabilize #[coverage] attribute
7adb8ab561b remove obsolete comment and pub(super) visibility
71740c5e592 remove bounds from vec and linkedlist ExtractIf
f5981cec754 Add a range argument to vec.extract_if
f0297f13dde Rollup merge of #134277 - notriddle:notriddle/inline-into, r=GuillaumeGomez
e88df256c16 Auto merge of #134332 - Zalathar:rollup-oe23hkw, r=Zalathar
93329f34b67 Rollup merge of #134310 - tkr-sh:master, r=Noratrieb
ab4f84cae3e Rollup merge of #133406 - EFanZh:lock-value-accessors, r=Noratrieb
69756988c15 Rollup merge of #130361 - devnexen:sock_cloexec_solaris, r=cuviper
114f5e2c405 Auto merge of #133223 - zachs18:uniquerc-impls, r=Noratrieb
cd6542897cb Asserts the maximum value that can be returned from `Vec::len`
9d2ca9a3477 Auto merge of #134258 - bjorn3:no_public_specialization, r=petrochenkov
66b6e751301 Rollup merge of #134022 - shahn:doc_clarify_extend_for_tuple_version, r=tgross35
3aa32597ed9 Rollup merge of #133986 - olishmollie:tracking-issue-127154-documentation, r=tgross35
b35e7babfbf Correct spelling of CURRENT_RUSTC_VERSION
dca96f2d618 Replace i32 by char in `split_at` & `_unchecked`
5c0062fd6ba Add clarity to the "greater" of `VecDeque::insert`
36d2006d1e1 Replace i32 by char to add clarity
f9d5fcf495e Auto merge of #134296 - matthiaskrgr:rollup-o0sxozj, r=matthiaskrgr
5416be5795f Add documentation for anonymous pipe module
bd52a6d6b8d Rollup merge of #133942 - BD103:black-box-docs, r=saethlin
1d8c71769ac Rollup merge of #134255 - bjoernager:master, r=Noratrieb
cd53ef86a04 Rollup merge of #134254 - hermit-os:hermit-c_char, r=workingjubilee
feb218aac4a Rollup merge of #134252 - hermit-os:hermit-is_absolute, r=tgross35
78ef2d597d4 rustdoc-search: let From and Into be unboxed
c1f85483921 Rollup merge of #134229 - purplesyringa:provenance-docs, r=saethlin
d03fb91bd4d Rollup merge of #134140 - compiler-errors:unsafe-binders-ast, r=oli-obk
c90e7e3ca98 Remove support for specializing ToString outside the standard library
1c55c9fbc60 Auto merge of #134047 - saethlin:inline-fmt-rt, r=m-ou-se
12a12d4f161 Update includes in '/library/core/src/error.rs';
5a5d80fb80a Fix building `std` for Hermit after `c_char` change
bfe81248fa4 Fix `Path::is_absolute` on Hermit
5d2388da58b Reword prelude for AsyncFn stabilization
9731c019cbe Stabilize async closures
fd9b9cd330a Fix typos in docs on provenance
7837903093e feat: clarify how to use `black_box()`
0c7c57b9e3c Add unwrap_unsafe_binder and wrap_unsafe_binder macro operators
72e40f07dfe Rollup merge of #134179 - zachs18:align_offset_mut_ptr_doc, r=workingjubilee
67ef22c7127 Rollup merge of #134178 - ehuss:stabilize-2024-prelude, r=amanieu,traviscross,tgross35
0834c1f1db0 Rollup merge of #134155 - sthibaul:unsafe_op_in_unsafe_fn, r=tgross35
09d16d15513 Rollup merge of #133859 - bjorn3:move_tests_to_alloctests, r=tgross35
94ec2233bd0 Rollup merge of #122003 - mati865:gnullvm-build-libunwind, r=petrochenkov
fa1541a5660 Stabilize the Rust 2024 prelude
6942ce52e34 Auto merge of #134177 - matthiaskrgr:rollup-hgp8q60, r=matthiaskrgr
3a1745b09e5 Rollup merge of #133598 - ChayimFriedman2:get-many-mut-detailed-err, r=scottmcm
566ea0f3dd8 Rollup merge of #132975 - arichardson:ffi-c-char, r=tgross35
ed224f8c25a Remove consteval note from <*mut T>::align_offset docs.
197f4744559 Rollup merge of #134079 - tbu-:pr_doc_x8_to_from_xe_bytes, r=jhpratt
ff50c42ded8 Add a note saying that `{u8,i8}::from_{be,le,ne}_bytes` is meaningless
809dc2d9649 Forbid unsafe_op_in_unsafe_fn in hurd-specific os and sys files
420c83c0cd8 Rollup merge of #134116 - RalfJung:const_nonnull_new, r=jhpratt
bb71e111888 Rollup merge of #134100 - eholk:noop-rustc-const-stable, r=dtolnay
d846ee80d9e Add references to the specific ABI documents
faa946af9e7 Remove l4re from the unsigned char operating system list
c589942e7af De-duplicate and improve definition of core::ffi::c_char
f5dfac33df4 stabilize const_nonnull_new
e24f63040e1 Rollup merge of #133472 - rust-wasi-web:master, r=joboet
0c9c5edf2d9 Rollup merge of #133456 - clubby789:cargo-update, r=ChrisDenton
1079f47e289 Rollup merge of #133184 - osiewicz:wasm-fix-infinite-loop-in-remove-dir-all, r=Noratrieb
577c96562be Remove rustc_const_stable attribute on const NOOP
7234c4f09e7 Rollup merge of #134032 - snprajwal:fix-docs, r=joboet
24e395ad1ab core: use public method instead of instrinsic
3a36268f22b core: improve comments
a09c0403f2d Auto merge of #134052 - matthiaskrgr:rollup-puxwqrk, r=matthiaskrgr
a9c38ee0d29 Rollup merge of #134050 - RalfJung:miri-sync, r=RalfJung
6fa0126c89c Rollup merge of #133880 - ChrisDenton:homedir, r=Mark-Simulacrum
0e491a9a3b1 Rollup merge of #133789 - rossmacarthur:then-with-doc-alias, r=Mark-Simulacrum
ed50cd40ea2 Switch inline(always) in core/src/fmt/rt.rs to plain inline
886328011ef Downgrade cc
e9bfb10f867 Rollup merge of #134013 - BLANKatGITHUB:intrinsic, r=saethlin
4e0eec33e6f Adds new intrinsic declaration
c1d57f82a0e Rollup merge of #133987 - Will-Low:DefineTlsAcronym, r=workingjubilee
8f4016eba75 docs: better examples for `std::ops::ControlFlow`
a73f6c64a01 Merge from rustc
fd6e8d7358e Auto merge of #133978 - matthiaskrgr:rollup-6gh1iho, r=matthiaskrgr
069b38123a6 Merge from rustc
5852362e5d1 Define acronym for thread local storage
70e63e17b2c Auto merge of #118159 - EliasHolzmann:formatting_options, r=m-ou-se
3bcad5cb18b Rollup merge of #132187 - shahn:extend_more_tuples, r=dtolnay
f761e9c676f Rollup merge of #130254 - GrigorenkoPV:QuotaExceeded, r=dtolnay
ef4c4ae6b50 Rollup merge of #130209 - GrigorenkoPV:CrossesDevices, r=dtolnay
11e4cd165ae Auto merge of #133089 - eholk:stabilize-noop-waker, r=dtolnay
aa5fc647d04 core: implement `bool::select_unpredictable`
70153836edd Rollup merge of #133790 - HypheX:improve-vec-docs, r=harudagondi,workingjubilee
ca5965a8639 Merge from rustc
706da00d0ff Rollup merge of #133821 - Kobzol:replace-black-with-ruff, r=onur-ozkan
debbad652d9 Stabilize noop_waker
fa414d5787d Access members of `FormattingOptions` directly instead of via getters/setters
02156e9faf6 Removed constness for methods receiving a `&mut` parameter
a0526432656 Added better reason for exposing `flags` and `get_flags` as unstable
9492becae41 Formatted
322c8b766b2 Refactored FormattingOptions to use a bitmask for storing flags
a1b4810cfcf Revert "Turned public+unstable+hidden functions into private functions"
8bd8c11c06a Turned public+unstable+hidden functions into private functions
177d5fac526 Made all fns const
b06f16ba681 impl Default for fmt::FormattingOptions
157c4f662e0 Fixed copy+paste error in comment
8fe085f1349 fmt::FormattingOptions: Renamed `alignment` to `align`
7de3770f6c6 Formatter::with_options: Use different lifetimes
3d16495ff6c Fixed another broken test
4d3d0470d23 Added struct `fmt::FormattingOptions`
29f1b2498b6 Formatter: Access members via getter methods wherever possible
7f0a865ead6 Improve documentation
4155a213e3e Add libc funcitons only for wasm32-wasip1-threads.
a58d30811b5 Fix compilation for wasm32-wasip1 (without threads).
2834b3e1213 Rollup merge of #133882 - jyn514:doc-backtraces, r=saethlin
37f75ad5a08 Rollup merge of #133844 - RalfJung:simd_relaxed_fma-nondet, r=workingjubilee
b89e20d1e5e Rollup merge of #127565 - esp-rs:xtensa-vaargs, r=workingjubilee
7af25276b17 Rollup merge of #133863 - oli-obk:push-pystoxvtvssx, r=lqd
f4ab4b484fe Rollup merge of #118833 - Urgau:lint_function_pointer_comparisons, r=cjgillot
db3e689077b Improve comments for the default backtrace printer
8874ede0208 Expand home_dir docs
33345baf830 Reformat Python code with `ruff`
6cfe2423972 Rename `core_pattern_type` and `core_pattern_types` lib feature  gates to `pattern_type_macro`
8d19d7cf046 Move some alloc tests to the alloctests crate
b75783a7146 clarify simd_relaxed_fma non-determinism
04abf699af3 Rollup merge of #133651 - scottmcm:nonnull-nonzero-no-field-projection, r=oli-obk
59c58640a80 Auto merge of #133818 - matthiaskrgr:rollup-iav1wq7, r=matthiaskrgr
6bebe1c8423 Rollup merge of #133726 - joshtriplett:breakpoint, r=oli-obk
57dbb716624 Rollup merge of #132937 - xmh0511:master, r=m-ou-se
1a1fa731d58 Update `NonZero` and `NonNull` to not field-project (per MCP807)
8df6841cf41 Rollup merge of #133796 - TDecking:borrowing-sub, r=tgross35
5248edd2723 Rollup merge of #133762 - RalfJung:const-size-of-val, r=workingjubilee
97f98da1fce Rollup merge of #133696 - RalfJung:const-hashmap, r=cuviper
592d87fafca Use UNIX thread_local implementation for WASI.
0b39639fa39 Update the definition of `borrowing_sub`
2f0494f936b Teach rust core about Xtensa VaListImpl and add a custom lowering of vaarg for xtensa.
fb668a45993 Add `core::arch::breakpoint` and test
1ae06991054 Add doc alias 'then_with' for `then` method on `bool`
04e41db91f5 ./x miri: fix sysroot build
a351bae8511 Rollup merge of #133395 - calebzulawski:simd_relaxed_fma, r=workingjubilee
6dd07606b78 Rollup merge of #133763 - Urgau:f16-midpoint-const-feat, r=Amanieu
7ef9e82c0ea Rollup merge of #133701 - kornelski:c-str, r=workingjubilee
e5e10c242ac Rollup merge of #131713 - tgross35:stabilize-const_maybe_uninit_write, r=RalfJung,dtolnay
eb96f323fa0 stabilize const_{size,align}_of_val
2b42df79e1a Stabilize `const_maybe_uninit_write`
7b043597c80 Use c"lit" for CStrings without unwrap
b06cd98bd77 Allow fn pointers comparisons lint in library
3d21446fa49 Fix `f16::midpoint` const feature gate
072ea73a1f6 Rollup merge of #133743 - bjoernager:slice-as-array, r=joboet
21529533fde stabilize const_collections_with_hasher and build_hasher_default_const_new
166cfb13136 Auto merge of #133728 - jhpratt:rollup-k1i60pg, r=jhpratt
ec43e851a59 Fix docs for '<[T]>::as_array';
4a95157e48e Rollup merge of #133678 - Urgau:stabilize-ptr_fn_addr_eq, r=jhpratt
f7d558398a2 Rollup merge of #133672 - RalfJung:const-stability-cleanup, r=jhpratt
cf34b1540ea Rollup merge of #133711 - cod10129:master, r=Noratrieb
45418e9d2a6 Rollup merge of #131784 - Urgau:stabilize-midpoint, r=dtolnay
0ba4fb63cc1 Rollup merge of #131416 - okaneco:const_copy, r=RalfJung
58b87f49645 Mark `slice::copy_from_slice` unstably const
50363a21191 add isatty alias for is_terminal
06c9316079c Rollup merge of #133674 - scottmcm:chain-carrying-add, r=Amanieu
b2f5848193a Rollup merge of #133669 - RalfJung:const_swap_splitup, r=dtolnay
833dd81deba Run `cargo update` and update licenses
5c2d5ca1784 Stabilize unsigned `num_midpoint` feature
f4630c8d109 Rollup merge of #133686 - samueltardieu:push-xkxwxzxqokuu, r=compiler-errors
487eef7a511 Rollup merge of #133622 - mkroening:exception-blog, r=cuviper
84b80170276 Rollup merge of #133602 - SanchithHegde:fix-pathbuf-example-codeblocks, r=cuviper
2bfc089b74f Rollup merge of #133515 - SteveLauC:fix/hurd, r=ChrisDenton
964c0c061fe Rollup merge of #128184 - joboet:refactor_pthread_sync, r=workingjubilee
7b3ae4b14e8 Auto merge of #133684 - RalfJung:rollup-j2tmrg7, r=RalfJung
b7abc7692ff Switch rtems target to panic unwind
afea5597238 Add diagnostic item for `std::ops::ControlFlow`
d17c5979b26 Rollup merge of #133670 - RalfJung:hashbrown, r=Amanieu
6965d9c1b06 Auto merge of #133659 - jieyouxu:rollup-576gh4p, r=jieyouxu
e142fe090ef std: clarify comments about initialization
0236bd2058d Stabilize `ptr::fn_addr_eq`
a54b5c85a48 Add value accessor methods to `Mutex` and `RwLock`
ec760c9108f fix: hurd build, stat64.st_fsid was renamed to st_dev
550bfc05b24 rustc_allow_const_fn_unstable is not used in proc_macro
1ccf19dc122 get rid of a bunch of unnecessary rustc_const_unstable
70183029716 Fix chaining `carrying_add`s
dd29fadf097 add test for bytewise ptr::swap of a pointer
a7f3a3cc076 remove a whole bunch of unnecessary const feature gates
943aa44906f Abstract `ProcThreadAttributeList` into its own struct
e6a732b0db2 move swap_nonoverlapping constness to separate feature gate
9d56b9dbedd bump hashbrown version
e423a339a39 move slice::swap_unchecked constness to slice_swap_unchecked feature gate
46851ab5cc9 Rollup merge of #133548 - cuviper:btreeset-entry-api, r=Mark-Simulacrum
b6bb042b28c Rollup merge of #133496 - rust-wasi-web:wasi-available-parallelism, r=Amanieu
5e218fe390d Rollup merge of #133106 - BLANKatGITHUB:intrinsic, r=RalfJung
3b2bca7e9f0 Rollup merge of #132515 - kornelski:home_fix, r=jhpratt
407d5985ad5 Rollup merge of #133625 - RalfJung:custom-mir-debug-info, r=compiler-errors
a0b4e2ff644 Rollup merge of #116161 - Soveu:varargs2, r=cjgillot
eeb808edfce Auto merge of #133533 - BoxyUwU:bump-boostrap, r=jieyouxu,Mark-Simulacrum
2992ba7e050 refine mir debuginfo docs
bf4636bee39 Doc comment custom MIR debuginfo.
547854bab55 update link to "C++ Exceptions under the hood" blog
c145db8fec3 Rollup merge of #133530 - timvisee:master, r=jhpratt
3ccd6102eae Rollup merge of #133466 - aksh1618:patch-1, r=thomcc
e5e4ec16636 fix: fix codeblocks in `PathBuf` example
069a3f311a4 Auto merge of #123244 - Mark-Simulacrum:share-inline-never-generics, r=saethlin
aa2609a583f Change `GetManyMutError` to match T-libs-api decision
e97ec53b763 Share inline(never) generics across crates
68d3ed3d908 Also use zero when referencing to capacity or length
657e081ba8f Use consistent wording in docs, use zero instead of 0
e97f024d14b Auto merge of #133561 - GuillaumeGomez:rollup-g4upmv4, r=GuillaumeGomez
c8ce91a5e34 Rollup merge of #133543 - mustartt:aix-lgammaf_r-shim, r=cuviper
3d06a7c117e Rollup merge of #133512 - bjoernager:slice-as-array, r=Amanieu
5a2e12351d7 Rollup merge of #129409 - grinapo:patch-1, r=Amanieu
64d66ce14ba Rollup merge of #133498 - GuillaumeGomez:missing-examples, r=joboet
95afca906a6 Stabilize `extended_varargs_abi_support`
8416a6beeca Fill in a `BTreeSet::entry` example
32276df18d5 Add a tracking issue for `btree_set_entry`
0b8b46754ae Add `BTreeSet` entry APIs to match `HashSet`
de67dab738c fmt
b255bcd4709 update cfgs
d5ee74c8b2c Implement code review
cc94a61244f replace placeholder version
ea762e31d64 Auto merge of #133369 - Zalathar:profiler-builtins-no-core, r=jieyouxu
be4d7f97a51 Rollup merge of #133449 - joboet:io_const_error, r=tgross35
fddc6136036 Rollup merge of #133402 - compiler-errors:drop-and-destruct, r=lcnr
b5baaaa3d2a Auto merge of #133505 - compiler-errors:rollup-xjp8hdi, r=compiler-errors
11a4630ce28 chore: Improve doc comments
d3ade682724 Add '<[T]>::as_array', '<[T]>::as_mut_array', '<*const [T]>::as_array', and '<*mut [T]>::as_mut_array' conversion methods;
cdf278252ad std: update internal uses of `io::const_error!`
182e0fde338 Rollup merge of #133435 - RalfJung:test_downgrade_observe, r=tgross35
6e22739b070 Rollup merge of #133282 - tgross35:maybe-uninit-debug, r=Amanieu
585dfc5b52e Rollup merge of #133136 - ChayimFriedman2:get-many-mut, r=Amanieu
75101ecc49d Rollup merge of #133042 - cuviper:btreemap-insert_entry, r=Amanieu
c590ef03caa Rollup merge of #133464 - RalfJung:whitespace-panic, r=joboet
b0910ed9eec Rollup merge of #133419 - CromFr:add-path-strip_prefix-test-example, r=Amanieu
ec61c1e49a2 Add missing code examples on `LocalKey`
c8c96e00fdc thread::available_parallelism for wasm32-wasip1-threads
85ceea5ea32 Refactor ReadDir into a state machine
9e9b5eeb86b Run TLS destructors for wasm32-wasip1-threads
2dec6432dc5 Fix typos in pin.rs
02b3316cbb9 std::thread: avoid leading whitespace in some panic messages
ee91620dbef Constify Drop and Destruct
7abb3262e5d std: expose `const_io_error!` as `const_error!`
786c3e18dcb Auto merge of #133247 - GuillaumeGomez:reduce-integer-display-impl, r=workingjubilee
992b1d2573c Support ranges in `<[T]>::get_many_mut()`
41bd055eaed miri: disable test_downgrade_observe test on macOS
ca2246ba724 Rollup merge of #132982 - suaviloquence:2-doc-changed-alloc-methods, r=Mark-Simulacrum
6e2012f32d9 Rollup merge of #132533 - SUPERCILEX:patch-4, r=Mark-Simulacrum
ed2598bafce fix `Allocator` method names in `alloc` free function docs
fd68d3e37ee Rollup merge of #133298 - n0toose:remove-dir-all-but-not-paths, r=Noratrieb
74f078b7290 Rollup merge of #133260 - compiler-errors:deref, r=fee1-dead
d1cf863b68f Rollup merge of #132730 - joboet:after_main_sync, r=Noratrieb
3f9124b0cf3 Added a doc test for std::path::strip_prefix
cea713a6711 Rollup merge of #133389 - eduardosm:stabilize-const_float_methods, r=RalfJung
04dab39dbea Rollup merge of #133301 - GuillaumeGomez:add-example-wrapping-neg, r=workingjubilee
dd7b253bb5d changes old intrinsic declaration to new declaration
ce181b51151 Auto merge of #132611 - compiler-errors:async-prelude, r=ibraheemdev
9fc2c20cb23 Auto merge of #132597 - lukas-code:btree-plug-leak, r=jhpratt
7f63ef45955 Make profiler_builtins `#![no_core]` instead of just `#![no_std]`
75fe14cbea0 Remove unnecessary `#![allow(unused_features)]`
8ff9319664c Sort and separate lint/feature attributes in `profiler_builtins`
000c27de7b8 Constify Deref and DerefMut
e105ad36675 Match simd_relaxed_fma documentation to fmuladd intrinsic
bc1b909d1cf Auto merge of #133379 - jieyouxu:rollup-00jxo71, r=jieyouxu
a0222ed6f11 Add simd_relaxed_fma intrinsic
18a772c0abf Stabilize `const_float_methods`
1fa5b7136ba Auto merge of #133377 - jieyouxu:rollup-n536hzq, r=jieyouxu
5048c462f73 Improve code by using `unsigned_abs`
e8829bde64b Rollup merge of #133237 - fee1-dead-contrib:constadd, r=compiler-errors
4151e360996 Rollup merge of #133332 - bjoernager:const-array-as-mut-slice, r=jhpratt
842ed39a839 Rollup merge of #131505 - madsmtm:darwin_user_temp_dir, r=dtolnay
0b0403aade1 Auto merge of #132994 - clubby789:cc-bisect, r=Kobzol
44de774c840 Auto merge of #133360 - compiler-errors:rollup-a2o38tq, r=compiler-errors
6ea276ef35c Rollup merge of #133264 - lolbinarycat:os-string-truncate, r=joboet
5a6926c6a54 Auto merge of #132329 - compiler-errors:fn-and-destruct, r=lcnr
8cace9e9e4d Shorten the `MaybeUninit` `Debug` implementation
9fff2a79a89 aix: create shim for lgammaf_r
0c2dadaf889 Add code example for `wrapping_neg` method for signed integers
b0893a5fb1d Deduplicate checking drop terminator
25cfe493429 Gate const drop behind const_destruct feature, and fix const_precise_live_drops post-drop-elaboration check
df5f774cf44 Auto merge of #133339 - jieyouxu:rollup-gav0nvr, r=jieyouxu
fd9dfbfa58e Rollup merge of #133337 - ColinFinck:thread-scoped-fix-typo, r=joboet
6ca197967f0 Rollup merge of #133330 - RalfJung:close, r=the8472
8cec9604aec Rollup merge of #133313 - thesummer:fix-arc4random, r=cuviper
bd8c70b7603 Rollup merge of #133288 - bjoernager:const-array-each-ref, r=jhpratt
c9a80ad59f4 Rollup merge of #133238 - heiher:loong-stdarch-rexport, r=Amanieu
0eb96d1dc9c Auto merge of #130867 - michirakara:steps_between, r=dtolnay
c57bc831f1c Fix typo in `std::thread::Scope::spawn` documentation.
b621e5886f5 Mark '<[T; N]>::as_mut_slice' as 'const';
01df57db50c library: update comment around close()
125a43354b7 Don't try to use confstr in Miri
dc9cd998086 Auto merge of #129238 - umgefahren:stabilize-ipv6-unique-local, r=dtolnay
e515d5fdd20 distinguish overflow and unimplemented in Step::steps_between
7e9c665fcec Use arc4random of libc for RTEMS target
fb92c4e9f3f Mention that std::fs::remove_dir_all fails on files
7edd22c19b6 Mark and implement 'each_ref' and 'each_mut' in '[T; N]' as const;
e411c3361f6 constify `Add`
956d316aa96 Rollup merge of #131736 - hoodmane:emscripten-wasm-bigint, r=workingjubilee
8defa07da76 implement OsString::truncate
9dd9ebdafe5 Rollup merge of #133226 - compiler-errors:opt-in-pointer-like, r=lcnr
c3a7a9ea54d Rollup merge of #130800 - bjoernager:const-mut-cursor, r=joshtriplett
05d96c22b33 Rollup merge of #129838 - Ayush1325:uefi-process-args, r=joboet
7691bc11882 Make PointerLike opt-in as a trait
5c581c3aadf Reduce integer `Display` implementation size
c819ed39def Stabilize const_pin_2
bb443655059 re-export `is_loongarch_feature_detected`
63a5059a757 Rollup merge of #132732 - gavincrawford:as_ptr_attribute, r=Urgau
f48d6a9b1d9 UniqueRc: platform-specific AsFd/Handle/etc impls to mirror Rc
e3055f65ed6 UniqueRc: PinCoerceUnsized and DerefPure
f53e523d3c8 UniqueRc: comparisons and Hash
5f8f1a32611 Rollup merge of #133183 - n0toose:improve-remove-dir-docs, r=joboet
88965979fa9 Rollup merge of #125405 - m-ou-se:thread-add-spawn-hook, r=WaffleLapkin
4da0cb33032 Rollup merge of #123947 - zopsicle:vec_deque-Iter-as_slices, r=Amanieu
31096758b3f UniqueRc: Add more trait impls.
4f1707779d3 Update doc comments for spawn hook.
e7cb7389192 Address review comments.
595f0d9f0f8 Fix tracking issue.
4fe82dfc2b3 Add tracking issue.
56ea82557bd Use Send + Sync for spawn hooks.
977c4c304f2 Add thread Builder::no_hooks().
e253c673db1 Update thread spawn hooks.
053640f6f35 Use add_spawn_hook for libtest's output capturing.
2a846d803f4 Add std::thread::add_spawn_hook.
525dab97bb6 Correct comments concerning updated dangling pointer lint
d2430399b75 Auto merge of #133205 - matthiaskrgr:rollup-xhhhp5u, r=matthiaskrgr
3c67ef9e5a2 Rollup merge of #133200 - RalfJung:miri-rwlock-test, r=tgross35
3516801bae2 ignore an occasionally-failing test in Miri
207627c1104 Rollup merge of #133182 - RalfJung:const-panic-inline, r=tgross35
fb525301a5f Rollup merge of #132758 - nnethercote:improve-get_key_value-docs, r=cuviper
3bd5a7f4276 Mention std::fs::remove_dir_all in std::fs::remove_dir
40ecf6c22bf wasi/fs: Improve stopping condition for <ReadDir as Iterator>::next
6da3fda3593 Bump `stdarch` to the latest master
d70eaaa68ec const_panic: inline in bootstrap builds to avoid f16/f128 crashes
1da1cc9cf07 std: allow after-main use of synchronization primitives
307d6f22226 Auto merge of #133160 - jhpratt:rollup-wzj9q15, r=jhpratt
e09425b475c Rollup merge of #133145 - kornelski:static-mutex, r=traviscross
58da10b98d8 Auto merge of #128219 - connortsui20:rwlock-downgrade, r=tgross35
997906157b4 rename rustc_const_stable_intrinsic -> rustc_intrinsic_const_stable_indirect
601132a1007 Improve `{BTreeMap,HashMap}::get_key_value` docs.
2e135b01a22 Document alternatives to `static mut`
bde38e315d0 Auto merge of #120370 - x17jiri:likely_unlikely_fix, r=saethlin
b407a672d3c Likely unlikely fix
f1532b9b5b2 Rollup merge of #133126 - ohno418:fix-String-doc, r=jhpratt
91ab1736cfe Rollup merge of #133116 - RalfJung:const-null-ptr, r=dtolnay
6f53685158e alloc: fix `String`'s doc
61efdcc7741 clean up const stability around UB checks
c313f7e9291 stabilize const_ptr_is_null
6aced621042 Rollup merge of #132449 - RalfJung:is_val_statically_known, r=compiler-errors
0250296af6c Rollup merge of #131717 - tgross35:stabilize-const_atomic_from_ptr, r=RalfJung
d27c37b4c4a reduce threads in downgrade test
8619ddabd64 fix `DOWNGRADED` bit unpreserved
45a5a4e3f1d fix memory ordering bug + bad test
525248ca5db add safety comments for queue implementation
e2543ddca9c add `downgrade` to `queue` implementation
c05bcc9c7fb modify queue implementation documentation
ddd48e97263 add `downgrade` to `futex` implementation
f9bcdb4474d add simple `downgrade` implementations
54967218559 add `downgrade` method onto `RwLockWriteGuard`
dcda8df4676 add `RwLock` `downgrade` tests
49b742da57d Rollup merge of #133050 - tgross35:inline-f16-f128, r=saethlin
9b405001aa8 Rollup merge of #133048 - cyrgani:ptr-doc-update, r=Amanieu
3357615fc72 Rollup merge of #133019 - sorairolake:add-missing-period-and-colon, r=tgross35
7e17a11e61d Rollup merge of #132984 - sunshowers:pipe2, r=tgross35
e8a67ba743b Rollup merge of #132977 - cberner:fix_solaris, r=tgross35
dbd5fb14b17 Rollup merge of #132790 - aDotInTheVoid:ioslice-asslice-rides-again, r=cuviper
1b4ad7703eb Pass `f16` and `f128` by value in `const_assert!`
e4c94766246 Remove one stray space.
58c02681d8f use `&raw` in `{read, write}_unaligned` documentation
1239f03791f btree: add `{Entry,VacantEntry}::insert_entry`
9aa607df7aa Auto merge of #132709 - programmerjake:optimize-charto_digit, r=joshtriplett
78626b047b6 Rollup merge of #133027 - no1wudi:master, r=jhpratt
c6347be9b59 Auto merge of #133026 - workingjubilee:rollup-q8ig6ah, r=workingjubilee
28f9f7f6736 Fix a copy-paste issue in the NuttX raw type definition
c1bd3483194 Rollup merge of #133008 - onur-ozkan:update-outdated-comment, r=jieyouxu
51884ccd46d Rollup merge of #133004 - cuviper:unrecover-btree, r=ibraheemdev
9d1b5289926 Rollup merge of #133003 - zachs18:clonetouninit-dyn-compat-u8, r=dtolnay
275fab34cf3 Rollup merge of #132907 - BLANKatGITHUB:intrinsic, r=saethlin
265f69fd7de Rollup merge of #131304 - RalfJung:float-core, r=tgross35
521d06b1f3a Auto merge of #122770 - iximeow:ixi/int-formatting-optimization, r=workingjubilee
0874a0035d0 docs: Fix missing colon in methods for primitive types
524cbdaf3b7 docs: Fix missing period in methods for integer types
948e53de4bb Auto merge of #133006 - matthiaskrgr:rollup-dz6oiq5, r=matthiaskrgr
4a5f8c13225 update outdated comment about test-float-parse
5b9d092b2cf Rollup merge of #126046 - davidzeng0:mixed_integer_ops_unsigned_sub, r=Amanieu
0ec0a66f5ca Auto merge of #132662 - RalfJung:const-panic-inlining, r=tgross35
3a28e6e022a Update core CloneToUninit tests
35e1775fe1f btree: simplify the backdoor between set and map
0495cd155b6 Bump `cc`
ec80ac9760a Fix compilation error on Solaris due to flock usage
cdcb1d2d589 Auto merge of #132556 - clubby789:cargo-update, r=Mark-Simulacrum
a66f410edcd Run `cargo update` and update licenses
1cccc6a94cc const_panic: don't wrap it in a separate function
f79ecc84837 [illumos] use pipe2 to create anonymous pipes
46925ba44db Auto merge of #132883 - LaihoE:vectorized_is_sorted, r=thomcc
4ccf16b1eb0 Auto merge of #132972 - matthiaskrgr:rollup-456osr7, r=matthiaskrgr
fe508063c28 Rollup merge of #132970 - tyilo:nonzero-u-div-ceil-issue, r=tgross35
e35eeacfc3e Rollup merge of #132966 - RalfJung:const_option_ext, r=jhpratt
d1b467ef3b0 Rollup merge of #132948 - RalfJung:const_unicode_case_lookup, r=Noratrieb
5a207560656 Rollup merge of #132851 - chansuke:update-comment, r=thomcc
ff8020378de Auto merge of #132870 - Noratrieb:inline-int-parsing, r=tgross35
7f43800757b Add tracking issue number to unsigned_nonzero_div_ceil feature
dfdaf4d0da8 Make `CloneToUninit` dyn-compatible
a6ab20eb090 stabilize const_option_ext
aef6c7529bf Rollup merge of #132541 - RalfJung:const-stable-extern-crate, r=compiler-errors
9792fc3fa32 stabilize const_unicode_case_lookup
7cd4be6ea3f Stabilize `Ipv6Addr::is_unique_local` and `Ipv6Addr::is_unicast_link_local`
15b4af14a52 adds new declaration to codegen
513cbf8297b Auto merge of #132943 - matthiaskrgr:rollup-164l3ej, r=matthiaskrgr
a636ccb7e8c Rollup merge of #132914 - rcorre:cell-grammar, r=tgross35
5af9cd39bdb Rollup merge of #132895 - scottmcm:generalize-nonnull-from-raw-parts, r=ibraheemdev
bd35c207e83 remove no-longer-needed abs_private
71c0928f8e5 allow rustc_private feature in force-unstable-if-unmarked crates
2d1521ec8d3 Rollup merge of #132929 - cuviper:check-alloc_zeroed, r=tgross35
ba37edb8236 Rollup merge of #132869 - lolbinarycat:library-fix-too_long_first_doc_paragraph, r=tgross35
c3aa0fd6d20 Rollup merge of #132847 - RalfJung:addr-dont-expose, r=Mark-Simulacrum
7b678a96b68 Auto merge of #132919 - matthiaskrgr:rollup-ogghyvp, r=matthiaskrgr
fe2df9994be a release operation synchronizes with an acquire operation
59ea28527ec Check for null in the `alloc_zeroed` example
422c4e8dc6b new intrinsic declaration
be313a69b63 new intrinsic declaration
bf896164821 Rollup merge of #132144 - adetaylor:receiver-trait-itself, r=wesleywiser
95128df8753 Rollup merge of #120077 - SUPERCILEX:set-entry, r=Amanieu
5b2d93dadf0 Update dangling pointer tests
ed8add25d55 Tag relevant functions with #[rustc_as_ptr] attribute
eee61579d6d Auto merge of #132902 - matthiaskrgr:rollup-43qgg3t, r=matthiaskrgr
6bc254b09ed Update grammar in std::cell docs.
bae8842bd22 Emscripten: link with -sWASM_BIGINT
6bc8a98cbb4 Rollup merge of #130999 - cberner:flock_pr, r=joboet
2e3a4db79e1 Auto merge of #127589 - notriddle:notriddle/search-sem-3, r=GuillaumeGomez
08e1228e615 Generalize `NonNull::from_raw_parts` per ACP362
f9a5ed02f86 vectorize slice::is_sorted
318b54e4aa4 `#[inline]` integer parsing functions
2b0fd040446 split up the first paragraph of doc comments for better summaries
863ba5a66b4 Update the doc comment of `ASCII_CASE_MASK`
192601ab1ba elem_offset / subslice_range: use addr() instead of 'as usize'
458dbbd00c3 Rollup merge of #132136 - RalfJung:target-feature-abi-compat, r=Mark-Simulacrum
29571c684a7 honor rustc_const_stable_indirect in non-staged_api crate with -Zforce-unstable-if-unmarked
f1e6a403adc Improve documentation of `element_offset` and related methods
6a9d2a411f5 Rename `elem_offset` to `element_offset`
310a91d1a6a Add as_slice/into_slice for IoSlice/IoSliceMut.
450aa1288bd Rollup merge of #132778 - lolbinarycat:io-Error-into_inner-docs, r=cuviper
e53a11a5e8f update io::Error::into_inner to acknowlage io::Error::other
3a3ed52ed1d Address review comments
70d11b2f164 Update library/std/src/sys/pal/windows/fs.rs
87dd8ff600f Auto merge of #132717 - RalfJung:rustc_safe_intrinsic, r=compiler-errors
d51ad86fa5a remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead
362e652f6c6 Rollup merge of #132738 - cuviper:channel-heap-init, r=ibraheemdev
ca7caf9db4c mark is_val_statically_known intrinsic as stably const-callable
36fd72193f9 Rollup merge of #132696 - fortanix:raoul/rte-235-fix_fmodl_missing_symbol_issue, r=tgross35
256a7ced72c Rollup merge of #132639 - RalfJung:intrinsics, r=workingjubilee,Amanieu
79569ee933c Initialize channel `Block`s directly on the heap
db2b12c9066 core: move intrinsics.rs into intrinsics folder
0fa9a6c6c9e Auto merge of #132714 - mati865:update-memchr, r=tgross35
6d60a72a8d9 Rollup merge of #132715 - tabokie:fix-lazy-lock-doc, r=Noratrieb
17e5d3b5522 Rollup merge of #132665 - tyilo:nonzero-u-div-ceil, r=joboet
da1331d6c40 Separate f128 `%` operation to deal with missing `fmodl` symbol
57cef21786e Auto merge of #132705 - kornelski:inline-repeat, r=tgross35
7802368a477 fix lazylock comment
a5d839dc87d Auto merge of #131888 - ChrisDenton:deopt, r=ibraheemdev
64f77df1882 unpin and update memchr
2d7984a960f optimize char::to_digit and assert radix is at least 2
7317cd4555d Inline str::repeat
8446e1a5f47 Rollup merge of #132617 - uellenberg:fix-rendered-doc, r=cuviper
df1594bbcf8 Auto merge of #131721 - okaneco:const_eq_ignore_ascii_case, r=m-ou-se
7e7f9ed6a32 Add `is_ascii` function optimized for x86-64 for [u8]
b76ab440a07 Auto merge of #132500 - RalfJung:char-is-whitespace-const, r=jhpratt
a442ac02b25 Add new implementation benchmark
5c39de3744c Add new unstable feature `const_eq_ignore_ascii_case`
3adbc621669 Auto merge of #132664 - matthiaskrgr:rollup-i27nr7i, r=matthiaskrgr
8ddab887db1 Change some code blocks to quotes in rendered std doc
ef47b33a8cb Rollup merge of #131261 - clarfonthey:unsafe-cell-from-mut, r=m-ou-se
dc052ced3b7 Auto merge of #132661 - matthiaskrgr:rollup-npytbl6, r=matthiaskrgr
9be5c2dc1de Implement div_ceil for NonZero<unsigned>
b39a2860435 Rollup merge of #132571 - RalfJung:const_eval_select_macro, r=oli-obk
3a28e6ad6b1 Rollup merge of #132473 - ZhekaS:core_fmt_radix_no_panic, r=joboet
46c3034cd24 Rollup merge of #132153 - bjoernager:const-char-encode-utf16, r=dtolnay
d52956082bc add const_eval_select macro to reduce redundancy
9250b4c4b59 Rollup merge of #132609 - NotWearingPants:patch-1, r=Amanieu
54bd3adf0e3 Rollup merge of #132606 - eduardosm:char-slice-str-pattern-doc, r=tgross35
6b9a5af164d most const intrinsics don't need an explicit rustc_const_unstable any more
49143b3b622 add new rustc_const_stable_intrinsic attribute for const-stable intrinsics
031f9c28368 convert all const-callable intrinsics into the new form (without extern block)
127883633f8 docs: fix grammar in doc comment at unix/process.rs
ff59429bddf Improve example of `impl Pattern for &[char]`
a68e38323fc Add AsyncFn* to to the prelude in all editions
b8fe4fde115 Fixed typo, rebased
29a8fc997da Updated SAFETY comment to address underflow
008a74c9f20 Replace checked slice indexing by unchecked to support panic-free code
ceac65d1adf Rollup merge of #132579 - RalfJung:rustc-std-workspace-crates, r=Amanieu
2ccb95e8380 btree: don't leak value if destructor of key panics
27c96552095 Stabilise 'const_char_encode_utf16';
509dd073b69 Auto merge of #132586 - workingjubilee:rollup-qrmn49a, r=workingjubilee
4926ac05cdf update rustc-std-workspace crates
8d4546d424f Rollup merge of #132423 - RalfJung:const-eval-align-offset, r=dtolnay
ae28b877064 Auto merge of #132434 - tgross35:f128-tests, r=workingjubilee
b82b6a45cf7 Fix and undeprecate home_dir()
db581d1e2bf Enable `f128` tests on all non-buggy platforms 🎉
9e03f8084c3 Auto merge of #132581 - workingjubilee:rollup-4wj318p, r=workingjubilee
c506c0279ef Update `compiler_builtins` to 0.1.138 and pin it
4a3b0948bbe Rollup merge of #132563 - frectonz:master, r=Amanieu
803847138ff Auto merge of #123723 - madsmtm:apple-std-os, r=dtolnay
f2175096363 Auto merge of #132479 - compiler-errors:fx-feat-yeet, r=fee1-dead
caacc66a634 Rename the FIXMEs, remove a few that dont matter anymore
8bb7ce8a697 Auto merge of #132542 - RalfJung:const_panic, r=tgross35
72beb748321 remove const-support for align_offset
48f72455d35 Modify `NonZero` documentation to reference the underlying integer type
b10bc73da0a Rollup merge of #132511 - RalfJung:const_arguments_as_str, r=dtolnay
dee386e7977 Rollup merge of #132503 - RalfJung:const-hash-map, r=Amanieu
028616a5bca Rollup merge of #132499 - RalfJung:unicode_data.rs, r=tgross35
a04ae3433a7 Rollup merge of #132393 - zedddie16:issue-131865-fix, r=tgross35
99edf316755 Rollup merge of #131377 - rick-de-water:nonzero-exp, r=dtolnay
141ffe504bd Rollup merge of #129329 - eduardosm:rc-from-mut-slice, r=dtolnay
0f4c0ab62ba add const_panic macro to make it easier to fall back to non-formatting panic in const
0bad6557b73 stabilize const_arguments_as_str
c77491eb408 Auto merge of #132458 - RalfJung:rustc-const-unstable, r=Amanieu
39157edbc09 Rustdoc: added brief colon explanation
e4225758db0 Add Set entry API
578b3ff91b0 Add BorrowedBuf::into_filled{,_mut} methods to allow returning buffer with original lifetime
2037eace73d Rollup merge of #132495 - Houtamelo:remove_unintended_link, r=jieyouxu
31a805b08cf Rollup merge of #132493 - Houtamelo:doc_type-ref_html-tag, r=jieyouxu
c2f25cd880d Rollup merge of #132482 - lukas-code:stab-attrs, r=Noratrieb
cc5191d1d82 remove const_hash feature leftovers
2728af9203a const_with_hasher test: actually construct a usable HashMap
a4a50b1b672 make char::is_whitespace unstably const
970eae4d52b unicode_data.rs: show command for generating file
f5f55442e3f get rid of a whole bunch of unnecessary rustc_const_unstable attributes
b14c6792db7 Rollup merge of #132398 - krtab:add_doc_link, r=Noratrieb
6f094ac1107 Remove unintended link
a74274e4c08 Fix type reference in documents which was being confused with html tags.
033cb2e7928 fix some stability annotations
bd16467dcc4 Rollup merge of #132459 - RalfJung:byte_sub_ptr, r=scottmcm
e145c80b018 Rollup merge of #132455 - RalfJung:const_alloc_layout, r=dtolnay
c22c341e06a Rollup merge of #132451 - RalfJung:less-rustc_allow_const_fn_unstable, r=tgross35
3bbba3d8bab Rollup merge of #132445 - RalfJung:const-unchecked-shifts, r=tgross35
7df01bee11b Rollup merge of #132413 - lolbinarycat:offset_of_nested-docs, r=workingjubilee
0579de67e47 remove no-longer-needed attribute
b56688f9d64 add missing safety comments
d12f27d4ef9 adjust test gating for f16/f128
d80df07dc04 float types: move copysign, abs, signum to libcore
5f86b1888e2 offset_from / sub_ptr docs: emphasize that pointers must be in the same allocation
c34766cbcdc feat(byte_sub_ptr): add ptr::byte_sub_ptr
080a2e20906 make const_alloc_layout feature gate only about functions that are already stable
e12063485b9 unchecked_shifts, unchecked_neg are safe-to-const-expose-on-stable, so we can get rid of a bunch of attributes
53bc80ca335 remove some unnecessary rustc_allow_const_fn_unstable
9661266001a Auto merge of #132206 - tgross35:update-builtins, r=wesleywiser
c5d1f3effc7 use semantic line break
804ea40144f update offset_of! docs to reflect the stablization of nesting
1f1310db6fc Add intra-doc link in str::xxx_char_boundary
93963fe694b Add a `collect_into` tuple test case
e19e4426450 Don't impl Extend for 13-tuples
86598670051 rustdoc-search: simplify rules for generics and type params
ea2ceffe08d Remove do_not_const_check from Iterator methods
f7e46bc4e8d Add intra-doc link in str::xxx_prefix
ad90a435921 Auto merge of #132238 - Urgau:midpoint-i64-hackers-impl, r=joboet
b1a8ad0421e Implement `From<&mut {slice}>` for `Box/Rc/Arc<{slice}>`
de81c2cfd47 Auto merge of #132326 - matthiaskrgr:rollup-ngyw18g, r=matthiaskrgr
c52ccba99aa Rollup merge of #132321 - betrusted-io:xous/fix-rustc_const_stable-attribute, r=joboet
8148aa07cca Auto merge of #132231 - lukas-code:rc-plug-leaks, r=tgross35
8c010b9c476 xous: sync: remove `rustc_const_stable` attribute
129f8e8c883 Win: rename: Use offset_of! in struct size calculation
38ae7fe6247 Rollup merge of #132270 - yakiimoninja:fs-truncate-docs, r=Noratrieb
94b192d0f13 Rollup merge of #132233 - WaffleLapkin:box-module-split, r=workingjubilee
16b2c9a2db5 Rollup merge of #131520 - zachs18:const-str-split, r=Noratrieb
5a311c1d378 Auto merge of #132277 - workingjubilee:rollup-5e6q6e4, r=workingjubilee
f1a9b205273 Stabilize `const_atomic_from_ptr`
2525108f4c5 Auto merge of #128985 - GrigorenkoPV:instantly-dangling-pointer, r=Urgau
5e9f5b7bb19 Rc destructor: tweak inlining
70e917c03c0 Split `boxed.rs` into a few modules
fedcb7c717f Rollup merge of #131441 - SpriteOvO:proc-macro-to-tokens-trait, r=dtolnay
f156bce99c2 clarified std::fs truncate doc
1050cdf4056 Auto merge of #132145 - RalfJung:stdarch, r=Amanieu
ace4a33dfbb clarified doc for `std::fs::OpenOptions.truncate()`
47fa409434a std: refactor `pthread`-based synchronization
b1d5523119b New lint: `dangling_pointers_from_temporaries`
64c9d4f1857 Rollup merge of #131391 - ChaiTRex:isqrt, r=scottmcm,tgross35
53780a64b4c we can now enable the 'const stable fn must be stable' check
1f1a027091f bump stdarch
56e3763facb Auto merge of #132251 - jieyouxu:rollup-mtv9mpd, r=jieyouxu
4d02c63de8e Auto merge of #132200 - Mark-Simulacrum:strengthen-cross-lang, r=RalfJung
17cb40d2ccc Support `char::is_digit` in const contexts
77075c6dbc8 Use Hacker's Delight impl in `i64::midpoint` instead of wide `i128` impl
8ce9b1cfab9 Rc/Arc: don't leak the allocation if drop panics
99da8532715 add test for panicking drop in Box/Rc/Arc
b737edbfba5 Auto merge of #131284 - dingxiangfei2009:rename-smart-ptr-to-coerce-referent, r=compiler-errors
01a07cd4871 Auto merge of #132191 - Urgau:midpoint_signed_towards_zero, r=dtolnay
c3b9a53453f Add a new trait `proc_macro::ToTokens`
3dd1c135709 Update compiler-builtins to 0.1.136
dc9b4671988 Auto merge of #131715 - tgross35:add-const_sockaddr_setters, r=Amanieu
c40fc128e80 Make clearer that guarantees in ABI compatibility are for Rust only
9be44cb8f7b Add test for all midpoint expectations
c4cdbf7fbb1 Simplify documentation for Extend impl for tuples
c528f49e40c Round negative signed integer towards zero in `iN::midpoint`
a60439c0bce Rollup merge of #132019 - daboross:document-partialeq-oncelock, r=Mark-Simulacrum
c1f1caa4131 Add Extend impls for tuples of arity 1 through 12
b0fc28c0c8b Auto merge of #131349 - RalfJung:const-stability-checks, r=compiler-errors
ac13eae8512 Rollup merge of #132137 - RalfJung:behavior, r=Noratrieb
a8f0d49ac66 get rid of the internal unlikely macro
752b4f49c6f Re-do recursive const stability checks
58397bb1fdd Arbitrary self types v2: (unused) Receiver trait
8ebd2382ca1 library: consistently use American spelling for 'behavior'
75eb49968ea ABI compatibility: remove section on target features
31b83431cee Rollup merge of #131457 - kpreid:fnaddr, r=dtolnay
3e063d045dc Auto merge of #132121 - workingjubilee:rollup-yrtn33e, r=workingjubilee
60585ca1420 Rollup merge of #132113 - LaihoE:pattern_as_utf8_default_impl, r=workingjubilee
b6a311980d5 Rollup merge of #132101 - youknowone:thread_local-gyneiene, r=tgross35
798bde442ca Rollup merge of #132048 - mustartt:aix-random-impl, r=workingjubilee
6feac64de56 Rollup merge of #131851 - sunshowers:musl-posix, r=workingjubilee
f5ccf0690b8 Avoid use imports in thread_local_inner! in statik
2e8a2eb7e08 Auto merge of #132116 - matthiaskrgr:rollup-3a0ia4r, r=matthiaskrgr
2a751f0ecfb Rollup merge of #131790 - nmathewson:doc_socketaddr_representation, r=tgross35
7315f476515 Auto merge of #131985 - compiler-errors:const-pred, r=fee1-dead
deebbdb006e provide default impl for as_utf8_pattern
478357c2879 Auto merge of #123550 - GnomedDev:remove-initial-arc, r=Noratrieb
2ed812b6ba9 Document textual format of SocketAddrV{4,6}
2dd5cd15ed1 Remove associated type based effects logic
c50af69cc05 [musl] use posix_spawn if a directory change was requested
ec9c62c5d8b Rollup merge of #130225 - adetaylor:rename-old-receiver, r=wesleywiser
58baa6b1017 Rollup merge of #132066 - tifv:ptr-docs-typo, r=Amanieu
4eafd5f88bf Rollup merge of #132065 - tifv:dangling-docs, r=Noratrieb
a351830dc1e Rollup merge of #132060 - joshtriplett:innermost-outermost, r=jieyouxu
726032a41a5 Rollup merge of #132039 - a1phyr:vecdeque_read_exact, r=Noratrieb
52be5ab2eba Rollup merge of #130991 - LaihoE:vectorized_slice_contains, r=Noratrieb
ed7dcef9363 const fn str::split_at*
908c430f90b const fn str::is_char_boundary
3804ceb5928 vectorized SliceContains
dab8a07e0c6 s/SmartPointer/CoerceReferent/g
be2e2520a8f fix a typo in documentation of pointer::sub_ptr()
4489ada2533 fix documentation of ptr::dangling() function
beb0813c0f9 "innermost", "outermost", "leftmost", and "rightmost" don't need hyphens
e5207dc3e2f Specialize `read_exact` and `read_buf_exact` for `VecDeque`
57241596b67 Rollup merge of #132031 - slanterns:rc_default, r=ibraheemdev
cdf7373322d Rollup merge of #131707 - clarfonthey:constify-core-tests, r=thomcc
a723e9945c0 Auto merge of #131929 - LaihoE:replace_default_capacity, r=joboet
e4fc33d4c2b AIX use /dev/urandom for impl
c0f78b0fd64 better default capacity for str::replace
6cb2df2e4f2 Rename Receiver -> LegacyReceiver
44957966850 refactor `Arc<T>::default`
82498152f13 optimize `Rc<T>::default`
cd6cb9b77a8 Rollup merge of #131697 - ShE3py:rt-arg-lifetimes, r=Amanieu
9d53c3d831f Document PartialEq impl for OnceLock
f03c8c01999 Rollup merge of #132003 - RalfJung:abi-compat-docs, r=traviscross
4066a64f143 Rollup merge of #130350 - RalfJung:strict-provenance, r=dtolnay
bda4d9a08c4 update ABI compatibility docs for new option-like rules
f215166548f move strict provenance lints to new feature gate, remove old feature gates
f623dd3510b stabilize Strict Provenance and Exposed Provenance
f6c9bdee93a fix docs
8ca8d1c2840 replace FindFirstFileW with FindFirstFileExW and apply optimization
ec7fd656204 replace FindFirstFileW with FindFirstFileExW and regenerate bindings
fe800fec874 Auto merge of #131948 - matthiaskrgr:rollup-c9rvzu6, r=matthiaskrgr
cbce52d7930 Support lock() and lock_shared() on async IO Files
337589b47fe Rollup merge of #131921 - klensy:statx_all, r=ChrisDenton
a18ec462803 Rollup merge of #131772 - GnomedDev:remove-proc_macro-todo, r=petrochenkov
2de2bb8c725 Auto merge of #131907 - saethlin:update-compiler-builtins, r=tgross35
27da9878375 Update `compiler-builtins` to 0.1.134
4926eaf8eb3 Rollup merge of #131919 - RalfJung:zero-sized-accesses, r=jhpratt
128a16b2582 Rollup merge of #131890 - printfn:precise-capturing-docs, r=traviscross
482e00e978e Rollup merge of #127462 - Ayush1325:uefi-env, r=joboet
5b58eaf4c04 Remove the Arc rt::init allocation for thread info
907235305db Auto merge of #131816 - Zalathar:profiler-feature, r=Kobzol
50b999587c3 replace STATX_ALL with (STATX_BASIC_STATS | STATX_BTIME) as former is deprecated
e10007c801c zero-sized accesses are fine on null pointers
c839b06e6f7 Update `use` keyword docs to describe precise capturing
52d741650e3 std: uefi: Use common function for UEFI shell
ee906dc299f std: uefi: Add basic Env variables
bcb8c74ac6d Auto merge of #131895 - jieyouxu:rollup-jyt3pic, r=jieyouxu
ec7185ea142 Rollup merge of #126207 - devnexen:stack_overflow_libc_upd, r=joboet
d490861f932 Auto merge of #131841 - paulmenage:futex-abstraction, r=joboet
321ed487b43 Revert using `HEAP` static in Windows alloc
9f4792a0c17 Rollup merge of #131866 - jieyouxu:thread_local, r=jhpratt
70a07c3e85c Rollup merge of #131858 - AnthonyMikh:AnthonyMikh/repeat_n-is-not-that-special-anymore, r=jhpratt
397c893fc1a Rollup merge of #131809 - collinoc:fix-retain-mut-docs, r=jhpratt
958ce90f8b5 Rollup merge of #131774 - thesummer:rtems-add-getentropy, r=joboet
a02fe2c3ab7 Rollup merge of #130136 - GKFX:stabilize-const-pin, r=dtolnay
b75a761783d Add entropy source for RTEMS
ee0238f6983 Rollup merge of #131850 - lexeyOK:master, r=compiler-errors
2fb1b3123dc Rollup merge of #131823 - thesummer:bump-libc-0.2.160, r=workingjubilee
bad79f7adeb Rollup merge of #131654 - betrusted-io:xous-various-fixes, r=thomcc
5c57b583a5e Avoid shadowing user provided types or type aliases in `thread_local!`
3d6e29ab956 remove outdated documentation for `repeat_n`
2925689b331 Auto merge of #131572 - cuviper:ub-index_range, r=thomcc
7e5438a1c0e Bump libc to 0.2.161
11e5ea4617e std::unix::stack_overflow::drop_handler addressing todo through libc update
f7bd16a03cc Missing parenthesis
1df22fb2b27 Abstract the state type for futexes
704ed799ad7 Rollup merge of #131835 - ferrocene:amanjeev/add-missing-attribute-unwind, r=Noratrieb
afedc50a999 Rollup merge of #131833 - c-ryan747:patch-1, r=Noratrieb
55231fc463a Auto merge of #130223 - LaihoE:faster_str_replace, r=thomcc
e3b067b3d5c Do not run test where it cannot run
96406cc04ba Add must_use to CommandExt::exec
ff3476a0445 Make `profiler_builtins` an optional dependency of sysroot, not std
f94af194acf Remove TODO in proc_macro now `const_refs_to_static` is stable
31b63e6cd04 Fix predicate signatures in retain_mut docs
bfca7d41a5f Win: Remove special casing of the win7 target for `std::fs::rename`
85ffa8b1c0d Auto merge of #131797 - matthiaskrgr:rollup-lzpze2k, r=matthiaskrgr
ea93b310074 Partially stabilize const_pin
5f8ad4da356 Rollup merge of #131730 - zlfn:master, r=tgross35
354887191ca Auto merge of #131792 - matthiaskrgr:rollup-480nwg4, r=matthiaskrgr
828d995efd6 Rollup merge of #130822 - bjoernager:non-null-from-ref, r=dtolnay
0d4e8ae492a Auto merge of #131767 - cuviper:bump-stage0, r=Mark-Simulacrum
3fc0b3dd5ab Rollup merge of #131746 - slanterns:once_box_order, r=joboet
1e8ad2f6796 Rollup merge of #131712 - tgross35:const-lazy_cell_into_inner, r=joboet
67981579caa Auto merge of #131460 - jwong101:default-placement-new, r=ibraheemdev
c38229a1748 update bootstrap configs
0a1c9a389b5 replace placeholder version
9f57bef95bb relax a memory order in `once_box`
fa35f4afd1d Rollup merge of #131521 - jdonszelmann:rc, r=joboet
466bf5e0288 Rollup merge of #130568 - eduardosm:const…
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. 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. to-announce Announce this issue on triage meeting
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants