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

Change f32::midpoint to upcast to f64 #121062

Merged
merged 1 commit into from
Jun 3, 2024
Merged

Conversation

RustyYato
Copy link
Contributor

@RustyYato RustyYato commented Feb 14, 2024

This has been verified by kani as a correct optimization

see: #110840 (comment)

The new implementation is branchless and only differs in which NaN values are produced (if any are produced at all), which is fine to change. Aside from NaN handling, this implementation produces bitwise identical results to the original implementation.

Question: do we need a codegen test for this? I didn't add one, since the original PR #92048 didn't have any codegen tests.

@rustbot
Copy link
Collaborator

rustbot commented Feb 14, 2024

r? @Mark-Simulacrum

rustbot has assigned @Mark-Simulacrum.
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 Feb 14, 2024
@RustyYato
Copy link
Contributor Author

r? @scottmcm

@scottmcm
Copy link
Member

No need for a codegen test for rust code in core unless you're checking to ensure that a particular optimization is triggering on it -- most commonly it's for testing that particular instantiations simplify.

@scottmcm
Copy link
Member

scottmcm commented Feb 14, 2024

Just to try to (informally) prove it for myself:

  • f32 has 1/8/23 bits, f64 has 1/11/52
  • the add is never worse than a doubling, which will always fit in the exponent
  • the division is never worse than half, which also fits in the exponent
  • Thus nothing ever goes from finite to infinite
  • Thus nothing ever goes from small to zero
  • So the only special values are the ones from the inputs, for which the addition gives the correct behaviour and the division+cast preserves any special values.

Only question I'd have: I see tests in

macro_rules! test_float {
-- do you think those are sufficient? Do they cover potential double-roundings from quite-different-magnitude cases well enough. for example? (The a/2 + b/2 implementation is a single rounding, because halving doesn't round, assuming no underflow.)

@the8472
Copy link
Member

the8472 commented Feb 14, 2024

That would be a bad choice for CPUs that have a single-precision FPU and emulate double precision. I don't know if we support any such targets, but such CPUs exist (some 32bit ARMs)

@Urgau
Copy link
Member

Urgau commented Feb 14, 2024

I don't know if we support any such targets, but such CPUs exist (some 32bit ARMs)

Seems like thumbv7em-none-eabihf only has a single FPU and does indeed generate calls to emulated double godbolt.

Not sure if we can do anything here about those targets, we don't have target cfg to differentiate them (we should maybe add one).

@RustyYato
Copy link
Contributor Author

RustyYato commented Feb 14, 2024

@scottmcm

Just to try to (informally) prove it for myself:

This looks correct

-- do you think those are sufficient? Do they cover potential double-roundings from quite-different-magnitude cases well enough. for example? (The a/2 + b/2 implementation is a single rounding, because halving doesn't round, assuming no underflow.)

No, I don't think that they test large differences in magnitude. I'll add tests for that.

@the8472

That would be a bad choice for CPUs that have a single-precision FPU and emulate double precision. I don't know if we support any such targets, but such CPUs exist (some 32bit ARMs)

Hm, I could fall back to the original implementation if we're on an embedded target tier 2 target. (If this is bad on a tier 3 target, I can add support if someone asks for specific targets before this PR gets merged). Would work? That would cover thumbv7em-none-eabihf for example.
I don't think any tier 1 target is missing double precision support.

@RustyYato
Copy link
Contributor Author

RustyYato commented Feb 15, 2024

Is there a reference that I can use to figure out which targets don't support double-precision floats? If not, I'll just use the original implementation on any target listed as Bare on the platform support page: https://doc.rust-lang.org/nightly/rustc/platform-support.html#tier-2-without-host-tools

@Urgau
Copy link
Member

Urgau commented Feb 15, 2024

Is there a reference that I can use to figure out which targets don't support double-precision floats?

No, not that I'm aware, this is the issue I alluded to in #121062 (comment), we don't have a target_... cfg for that.

One thing that could be done is to hack a cfg chain, like this, it should detect detect thumbv7em-none-eabihf and exclude armv7-unknown-linux-gnueabihf.

#[cfg(all(target_arch = "arm", target_pointer_width = "32", not(target_feature = "vfp2")))]

@tspiteri
Copy link
Contributor

Do they cover potential double-roundings from quite-different-magnitude cases well enough. for example?

I don't think it's possible to get double rounding, as the precision of f64 is twice the precision of f32 and then some. Let's say the larger operand has 24 significant bits with significance 252 to 229, while the smaller operand has 24 bits with significance 222 to 2−1. The addition results in rounding because of the bit at 2−1, but that can only reach 223, which will not cause any double rounding in the conversion to f32.

Subtraction instead of addition shouldn't be able to break through the about 6 bits of leeway.

@RustyYato
Copy link
Contributor Author

@tspiteri yes, with the proposed implementation, double rounding isn't possible, but it's good to add these tests anyways to ensure all future implementations correctly round the results.

@Urgau Thanks, I think I'll use that. 🙇

@the8472
Copy link
Member

the8472 commented Feb 19, 2024

Have you benchmarked how this would affect an auto-vectorized loop of midpoint calculations? Upcasting to f64 means it can only have half the number of lanes which probably eats up some of the gains of the simpler algorithm.

@scottmcm scottmcm assigned the8472 and unassigned scottmcm Feb 20, 2024
@RustyYato
Copy link
Contributor Author

RustyYato commented Feb 21, 2024

@the8472 I checked godbolt, and there is no noticeable SIMD parallelization in either implementation. They are both equivalent to the scalar implementation. On x86_64 they do use SIMD registers, but this isn't because they are using SIMD for parallelization, but because x86/_64 only implents IEEE floats in SIMD, not in scalar ASM (they use 80-bit floats there). So we emit SIMD code to ensure that we are IEEE compliant.

I also did a simple benchmark to confirm my suspicions. You can find the code for the benchmark here: https://github.com/RustyYato/f32-perf-test
The results: my implementation is both more performant and more stable. The original implementation plays really poorly with the branch predictor. And doesn't outperform the upcast even in the best case scenarios

The benchmarks were run with criterion, picking the best results across both runs for each implementation

cargo bench
RUSTFLAGS='-C target-cpu=native' cargo bench

NOTE: ps = pico seconds (1/1000 of 1 ns)

For reference,
for a single operation upcasting to f64 performs between 780ps-840ps (depending on rustc flags/black box)
for a single operation f32 only performs between 850ps-1.060ns (depending on rustc flags/black box)
for 1M operations
numbers in the range 0-100 (the first branch of the original implementation)

  • upcasting to f64: 6.5ms
  • f32 only: 6.8ms

numbers in the range 0..f32::MAX (showing the worst cast of the original implementation)

  • upcasting to f64: 6.6ms
  • f32 only: 49.3ms 😱

my hardware is:

> sudo dmidecode -t processor
Handle 0x0052, DMI type 4, 48 bytes
Processor Information
        Socket Designation: U3E1
        Type: Central Processor
        Family: Core i7
        Manufacturer: Intel(R) Corporation
        ID: 71 06 0B 00 FF FB EB BF
        Signature: Type 0, Family 6, Model 183, Stepping 1
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (FXSAVE and FXSTOR instructions supported)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Multi-threading)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: 13th Gen Intel(R) Core(TM) i7-13700K
        Voltage: 1.0 V
        External Clock: 100 MHz
        Max Speed: 8500 MHz
        Current Speed: 3400 MHz
        Status: Populated, Enabled
        Upgrade: Other
        L1 Cache Handle: 0x004F
        L2 Cache Handle: 0x0050
        L3 Cache Handle: 0x0051
        Serial Number: To Be Filled By O.E.M.
        Asset Tag: To Be Filled By O.E.M.
        Part Number: To Be Filled By O.E.M.
        Core Count: 16
        Core Enabled: 16
        Thread Count: 24
        Characteristics:
                64-bit capable
                Multi-Core
                Hardware Thread
                Execute Protection
                Enhanced Virtualization
                Power/Performance Control

rustc version info

> rustc --version --verbose
rustc 1.78.0-nightly (a4472498d 2024-02-15)
binary: rustc
commit-hash: a4472498d7e88041f6206faf4503eb1f246fd427
commit-date: 2024-02-15
host: x86_64-unknown-linux-gnu
release: 1.78.0-nightly
LLVM version: 18.1.0

I think this is pretty solid evidence that upcasting is better on current x86_64 hardware. But I don't have access to an ARM/powerpc/AARCH64 machine, so I can't verify other targets.

edit: just realized that I used inline(never) 🤦, so I reran the benchmarks without that. And to absolutely nobodies surprise, the core argument doesn't change. f64::from is is significantly better, but all numbers are a little faster. I don't really think the concrete numbers matter that much, just the differences, which didn't change as much. So I'm not going to edit in the fixed numbers. But the benchmark github repo is fixed.

If there are any deficiencies in my benchmark, I'm happy to run them again after those are fixed

@the8472
Copy link
Member

the8472 commented Feb 21, 2024

The benchmarks use Vec<(f32, f32)>, I wouldn't expect those to optimize well because disentangling those into SIMD lanes is a bunch of extra work. Instead zipping two Vec<f32>s and doing the pairwise midpoints or doing midpoints over pairs of [f32; 8] is more likely to autovectorize. Bumping the CPU target to x86-64-v3 or v4 might make it more profitable too.

@RustyYato
Copy link
Contributor Author

RustyYato commented Feb 21, 2024

Ok, after that change, (switching from Vec<(f32, f32)> -> Vec<f32>, Vec<f32>), when the branch predictor is friendly, the original implementation is 14% faster, (5.27 ms vs 6.13 ms). This is significant, and something I missed before.
But when the branch predictor is not friendly the original implementation is still running at 48ms, while upcast is still running at 6.3ms.

I think stable performance is better than a 14% improvement. And if someone wanted to squeeze out that 10%, then they could copy out the original implementation.
Also when stable SIMD is available, I would assume that we could implement midpoint on f32x4 via the original implementation making this discussion about SIMD moot.

Bumping the CPU target to x86-64-v3 or v4 might make it more profitable too.

I'm not sure how to do that, if you could leave some instructions on how to do that, then I could try that out.

@the8472
Copy link
Member

the8472 commented Feb 21, 2024

I'm not sure how to do that, if you could leave some instructions on how to do that, then I could try that out.

Prefix the benchmark command with RUSTFLAGS="-Ctarget-cpu=x86-64-v3"

But when the branch predictor is not friendly the original implementation is still running at 48ms, while upcast is still running at 6.3ms.

I don't do enough float number crunching to have an intuition how common it is for bulk data to fit into one of the branches vs. being spread between them. And and I think it'll only matter if you do bulk data crunching. If you only do some float computation every now and then it doesn't matter either way.

Anyway, now I think we have three questions:

  • what if your CPU only has SP but not DP. This is handled for ARM now, but are there any others?
  • what if performance differs between SP and DP (this was the case on some older x86 CPUs at least)
  • autovectorization

This makes it complicated to assess whether it's worth it.

@RustyYato
Copy link
Contributor Author

RustyYato commented Feb 22, 2024

Prefix the benchmark command with RUSTFLAGS="-Ctarget-cpu=x86-64-v3"

I tried this and for most of the tests it didn't change performance, and for the ones it did only by ~1%. It seems the current implementation benefits from this more than the upcast implementation.

how common it is for bulk data to fit into one of the branches vs. being spread between them

I don't think there would be a large spread in most cases, but I would prefer not to have performance pitfalls that only occur in special cases if they are easy to avoid.

If you only do some float computation every now and then it doesn't matter either way.

In that case we shouldn't be considering that case, since either implementation will be fast enough.

what if your CPU only has SP but not DP. This is handled for ARM now, but are there any others?

I don't think any tier 1 targets do, for tier 2 or tier 3 targets, they can be added as special cases (or anyone using those targets can add those special cases if it matters). If the number of special cases gets large enough, maybe we can add a target specification for this instead.

what if performance differs between SP and DP (this was the case on some older x86 CPUs at least)

If the difference isn't that large (no more than 30% faster/slower), I think the branchless algorithm is still fine.
Also we could gate those architectures as well.

autovectorization

I would expect any code which needs performance front and center, won't rely on autovectorization. And since the upcast version is only 14% slower (on my machine at least), I wouldn't expect this to be a deal breaker. Also this was a very artificial benchmark, I would expect the difference in more realistic code to be much closer. Esp. since the vector registers are used by all float ops on x86(_64). It would make it harder for autovectorization to trigger.

This makes it complicated to assess whether it's worth it.

Yes, this was more involved that I expected 😄. No matter, I think we can sort this out.
In any case, this is a nightly function, we could try this out and if it is a net negative this change is easy to revert. So the opportunity cost is fairly low. This would also allow testing this on a wider variety of machines to get better data.

By chance, do you have a non-x86(_64) machine which you could test this out on?

@the8472
Copy link
Member

the8472 commented Feb 22, 2024

I would expect any code which needs performance front and center, won't rely on autovectorization.

That's definitely not true. Writing architecture-specific SIMD code is a lot of work with all the features. Many people just beat the code into a shape that pleases LLVM and then rely on that. std does it too. We even have I-slow bug reports about those things regressing.

Yes, this was more involved that I expected 😄. No matter, I think we can sort this out.
By chance, do you have a non-x86(_64) machine which you could test this out on?

Yeah, I can test on an aarch64 cloud machine. And maybe some other x86 hardware, seems to be tricky enough to be worth it. What's your CPU?

@the8472
Copy link
Member

the8472 commented Feb 22, 2024

If the difference isn't that large (no more than 30% faster/slower), I think the branchless algorithm is still fine.

Agner Fog's x86 instruction tables lists DIVSS having a latency of 9-17 and DIVSD 9-32. So the worst case is almost twice as much. But the latency is data-dependent and I think a power-of-two divisor is cheap and so won't experience worst-case latencies.

Icelake and various other *lake CPUs are listed as having an RThroughput (lower is better) of 3 for DIVSS vs. 4 for DIVSD. That'd be 33% slower in terms of throughput. So it could impact ILP which is a bit trickier to benchmark, you need the loop to do more work, with either some speculative execution or some independent data dependency chains.

@RustyYato
Copy link
Contributor Author

What's your CPU?

13th Gen Intel(R) Core(TM) i7-13700K

@the8472
Copy link
Member

the8472 commented Mar 5, 2024

Ok, after that change, (switching from Vec<(f32, f32)> -> Vec, Vec), when the branch predictor is friendly, the original implementation is 14% faster, (5.27 ms vs 6.13 ms). This is significant, and something I missed before.

The "hope auto vec" benches in your repo don't do that though. They still use Vec<(f32, f32)>, which i've checked on godbolt and they don't vectorize.

@RustyYato
Copy link
Contributor Author

@the8472 my bad 🙃, I forgot to push my latest changes. They should be up now

@rustbot rustbot added T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative labels Jun 2, 2024
@rustbot
Copy link
Collaborator

rustbot commented Jun 2, 2024

These commits modify the Cargo.lock file. Unintentional changes to Cargo.lock can be introduced when switching branches and rebasing PRs.

If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.

This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp.

Some changes occurred in coverage instrumentation.

cc @Zalathar

Some changes occurred to the core trait solver

cc @rust-lang/initiative-trait-system-refactor

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

Some changes occurred to the CTFE / Miri engine

cc @rust-lang/miri

Some changes occurred in match lowering

cc @Nadrieril

rustc_error_messages was changed

cc @davidtwco, @compiler-errors, @TaKO8Ki

This has been verified by kani as a correct optimization

see: rust-lang#110840 (comment)

The new implementation is branchless, and only differs in which NaN
values are produced (if any are produced at all). Which is fine to change.
Aside from NaN handling, this implementation produces bitwise identical
results to the original implementation.

The new implementation is gated on targets that have a fast 64-bit
floating point implementation in hardware, and on WASM.
@RustyYato
Copy link
Contributor Author

Sorry about the noise above, my bad. I've squashed everything into a single commit, given how small the change is I don't think there's much point in multiple commits for this.

@BoxyUwU BoxyUwU removed A-testsuite Area: The testsuite used to check the correctness of rustc T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic WG-trait-system-refactor The Rustc Trait System Refactor Initiative labels Jun 2, 2024
@the8472
Copy link
Member

the8472 commented Jun 2, 2024

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Jun 2, 2024

📌 Commit 849c525 has been approved by the8472

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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 2, 2024
jieyouxu added a commit to jieyouxu/rust that referenced this pull request Jun 2, 2024
Change f32::midpoint to upcast to f64

This has been verified by kani as a correct optimization

see: rust-lang#110840 (comment)

The new implementation is branchless and only differs in which NaN values are produced (if any are produced at all), which is fine to change. Aside from NaN handling, this implementation produces bitwise identical results to the original implementation.

Question: do we need a codegen test for this? I didn't add one, since the original PR rust-lang#92048 didn't have any codegen tests.
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 2, 2024
Rollup of 5 pull requests

Successful merges:

 - rust-lang#121062 (Change f32::midpoint to upcast to f64)
 - rust-lang#125808 (Migrate `run-make/c-link-to-rust-dylib` to `rmake.rs`)
 - rust-lang#125886 (Migrate run make issue 15460)
 - rust-lang#125890 (Improve compiletest expected/not found formatting)
 - rust-lang#125896 (compiletest: fix outdated rmake.rs comment)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 2, 2024
…kingjubilee

Rollup of 6 pull requests

Successful merges:

 - rust-lang#121062 (Change f32::midpoint to upcast to f64)
 - rust-lang#125808 (Migrate `run-make/c-link-to-rust-dylib` to `rmake.rs`)
 - rust-lang#125884 (Implement feature `integer_sign_cast`)
 - rust-lang#125890 (Improve compiletest expected/not found formatting)
 - rust-lang#125896 (compiletest: fix outdated rmake.rs comment)
 - rust-lang#125898 (typo: depending from -> on)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 713cdcd into rust-lang:master Jun 3, 2024
6 checks passed
@rustbot rustbot added this to the 1.80.0 milestone Jun 3, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jun 3, 2024
Rollup merge of rust-lang#121062 - RustyYato:f32-midpoint, r=the8472

Change f32::midpoint to upcast to f64

This has been verified by kani as a correct optimization

see: rust-lang#110840 (comment)

The new implementation is branchless and only differs in which NaN values are produced (if any are produced at all), which is fine to change. Aside from NaN handling, this implementation produces bitwise identical results to the original implementation.

Question: do we need a codegen test for this? I didn't add one, since the original PR rust-lang#92048 didn't have any codegen tests.
@bors
Copy link
Contributor

bors commented Jun 3, 2024

⌛ Testing commit 849c525 with merge 032af18...

@jieyouxu
Copy link
Member

jieyouxu commented Jun 3, 2024

bors what doing
@bors r- retry

@RustyYato RustyYato deleted the f32-midpoint branch June 3, 2024 12:13
celinval added a commit to celinval/rust-dev that referenced this pull request Jul 17, 2024
5e4edbadcb7 Rollup merge of rust-lang#127789 - Sword-Destiny:master, r=petrochenkov
686f75bb7a6 Rollup merge of rust-lang#127047 - tspiteri:f128-aconsts-lsd, r=tgross35
8b1d874a6ec deny unsafe_op_in_unsafe_fn for teeos
f8bb325e1cf clean unsafe op in unsafe fn
b5970178b63 clean unsafe op in unsafe fn
9fd9c61c0ef clean unsafe op in unsafe fn
e0c57e42237 delete #![allow(unsafe_op_in_unsafe_fn)]
a778c83ad92 Auto merge of rust-lang#127777 - matthiaskrgr:rollup-qp2vkan, r=matthiaskrgr
65355912072 Rollup merge of rust-lang#124921 - RalfJung:offset-from-same-addr, r=oli-obk
ac443f29c05 Auto merge of rust-lang#127020 - tgross35:f16-f128-classify, r=workingjubilee
eae94518584 Rollup merge of rust-lang#127750 - ChrisDenton:safe-unsafe-unsafe, r=workingjubilee
6257980b38d Rollup merge of rust-lang#127744 - workingjubilee:deny-unsafe-op-in-std, r=jhpratt
05614f3ce16 Rollup merge of rust-lang#127712 - ChrisDenton:raw-types, r=workingjubilee
14c24b1ba4c Mark some `f16` and `f128` functions unstably const
1b70afd5267 Move safety comment outside unsafe block
3c286d52b7d Make os/windows default to deny unsafe in unsafe
d96ed862d21 Make pal/windows default to deny unsafe in unsafe
bb3f60f0e69 Fix Windows 7
9fc6710fe07 Auto merge of rust-lang#127719 - devnexen:math_log_fix_solill, r=Amanieu
decdb067d63 Don't re-export `c_int` from `c`
a1a1c6a2d51 Remove DWORD
7d189919173 Remove ULONG
d89bce6a28b Remove PSRWLOCK
d3205de3d53 Remove LPVOID
68ac381171e Remove LPSECURITY_ATTRIBUTES
6d037b83d39 Remove LPOVERLAPPED
61f617d370a Remove LPCVOID
8a2537133ee Remove SIZE_T
cd51de1f064 Remove CHAR
00a5b3b8733 Remove USHORT
d621d21f702 Remove LPWSTR
0b22ecb55af Remove UINT
18adceff5ae Remove LONG
4eaaf7dcb61 Remove LARGE_INTEGER
aa45985349c Remove NonZeroDWORD
d7aa7cf7242 Auto merge of rust-lang#127732 - GrigorenkoPV:teeos-safe-sys-init, r=Amanieu
5ff7b404d5e std: Unsafe-wrap std::sync
e8fa3ef2c24 std: Unsafe-wrap in Wtf8 impl
8c3a9c1c939 std: Unsafe-wrap std::io
91b7331a825 std: Directly call unsafe {un,}setenv in env
8c75111da55 std: Unsafe-wrap OSStr{,ing}::from_encoded_bytes_unchecked
4679f9a6cff std: Unsafe-wrap HashMap::get_many_unchecked_mut
ac0fd279184 std: deny(unsafe_op_in_unsafe_fn) but allow sites
f710e38693e Add `classify` and related methods for `f16` and `f128`
009660d51cc std: removes logarithms family function edge cases handling for solaris.
3492a6b5146 Auto merge of rust-lang#127728 - matthiaskrgr:rollup-ercdbjd, r=matthiaskrgr
08732993c73 sys::init is not unsafe on teeos
6c4029ad51b Rollup merge of rust-lang#127592 - tesuji:patch-1, r=Mark-Simulacrum
7cd8086b6c1 Auto merge of rust-lang#125935 - madsmtm:merge-os-apple, r=workingjubilee
cfb0556a7f1 Merge Apple `std::os` extensions modules into `std::os::darwin`
54435f79fa5 Rollup merge of rust-lang#127704 - workingjubilee:fixup-better-than, r=ChrisDenton
e1229496e7f Auto merge of rust-lang#127706 - workingjubilee:rollup-d07ij30, r=workingjubilee
30331206bd2 Rollup merge of rust-lang#127659 - saethlin:manually-drop-bufwriter, r=joboet
e9eb7de0b4a Rollup merge of rust-lang#127446 - zachs18:miri-stdlib-leaks-core-alloc, r=Mark-Simulacrum
3ad25605a1f Rollup merge of rust-lang#127370 - ChrisDenton:win-sys, r=Mark-Simulacrum
05bf6bcfaeb doc: Suggest `str::repeat` over `iter::repeat().take().collect()`
96e8ba7a40c Fix minor typos in std::process doc on Win argv
6b67c664112 Auto merge of rust-lang#126958 - dtolnay:u32char, r=Mark-Simulacrum
591aaaf1e3e std::unix::fs: removing, now useless, layers predating macOs 10.10.
94ec6e79526 Auto merge of rust-lang#127674 - jhpratt:rollup-0dxy3k7, r=jhpratt
a7c1f608ce4 Rollup merge of rust-lang#127668 - spencer3035:improve-slice-doc, r=jhpratt
1e49e055a69 Rollup merge of rust-lang#127661 - eduardosm:stabilize-io_slice_advance, r=cuviper
c79e0030810 Auto merge of rust-lang#127397 - jyn514:multi-thread-panic-hook, r=workingjubilee
206678cfcd3 Auto merge of rust-lang#126606 - zachs18:patch-2, r=joboet
1bb035080b7 Updated slice documentation
c8b79ddd46c Use ManuallyDrop in BufWriter::into_parts
6e26e27ee92 Stabilize io_slice_advance
cac66641bfb Rename the internal `const_strlen` to just `strlen`
39647aba92c fix interleaved panic output
0476fc4842e Rollup merge of rust-lang#127433 - dtolnay:conststrlen, r=workingjubilee
f66bd5fdfbd Rollup merge of rust-lang#126827 - the8472:pidfd-spawn, r=workingjubilee
1e5cd219cb6 Rollup merge of rust-lang#124980 - zachs18:rc-allocator, r=Amanieu
949f0d63178 Add instability attribute on private const_strlen function
20bfac6c159 Rollup merge of rust-lang#127422 - greaka:master, r=workingjubilee
f937ef12bda Rollup merge of rust-lang#127599 - tgross35:lazy_cell_consume-rename, r=workingjubilee
fde7fd261f2 Rollup merge of rust-lang#127588 - uweigand:s390x-f16-doctests, r=tgross35
ed47f986f1b Rollup merge of rust-lang#127572 - tbu-:pr_debug_event_nonpacked, r=jhpratt
e5c8b859b88 Rollup merge of rust-lang#124599 - estebank:issue-41708, r=wesleywiser
b71b538ec26 Rename `lazy_cell_consume` to `lazy_cell_into_inner`
9efc1cb294a core: Limit remaining f16 doctests to x86_64 linux
a18fbd0ad0e Rollup merge of rust-lang#127554 - ferrocene:tshepang-add-missing-attribute, r=pietroalbini
e419147a511 Don't mark `DEBUG_EVENT` struct as `repr(packed)`
4552576f397 Auto merge of rust-lang#126690 - andyolivares:feature/show_window, r=dtolnay
6f6e343956a Rollup merge of rust-lang#127091 - Sky9x:fused-error-sources-iter, r=dtolnay
0d64105175e Fixed doc links
4fb7b225972 Few changes to doc comments. Added tracking issue number.
fe62f6f8ad6 Exposing STARTUPINFOW.wShowWindow in CommandExt (show_window function) to control how a new process should display its window (normal, minimized, maximized, etc)
7d20047874d  do not run test where it cannot run
c5f1c76ddea Auto merge of rust-lang#127235 - martn3:no-mips-f16, r=tgross35,scottmcm
3fefa04a3c1 Rollup merge of rust-lang#127460 - Borgerr:clarify-drop-comment, r=jhpratt
895175ada33 Rollup merge of rust-lang#127355 - aceArt-GmbH:126475, r=oli-obk
57cea32952c Rollup merge of rust-lang#120248 - WaffleLapkin:bonk-ptr-object-casts, r=compiler-errors,oli-obk,lnicola
e74955e1f84 Attempt to fix CI
e466bf57650 Rollup merge of rust-lang#127367 - ChrisDenton:run-sync, r=Nilstrieb
90504f870c5 Rollup merge of rust-lang#126921 - workingjubilee:outline-va-list, r=Nilstrieb
c6b3f3db220 Auto merge of rust-lang#127454 - matthiaskrgr:rollup-k3vfen2, r=matthiaskrgr
29d792329d4 Move/change declaration of `mod exit_guard;`
ecc90251720 clarify `sys::unix::fd::FileDesc::drop` comment (rust-lang#66876)
35c5a456fea Rollup merge of rust-lang#127447 - RalfJung:once_lock_miri, r=joboet
9f7100d382c Rollup merge of rust-lang#127354 - nicholasbishop:bishop-sized-doc, r=Nilstrieb
ee06e7daee6 Rollup merge of rust-lang#127297 - the8472:path-new-hash, r=Nilstrieb
2206c6b52b9 Rollup merge of rust-lang#127189 - GrigorenkoPV:linkedlist-cursor-list, r=Nilstrieb
41bcc362ad5 Rollup merge of rust-lang#127179 - tgross35:typeid-debug-hex, r=Nilstrieb
7177ac878cc once_lock: make test not take as long in Miri
294d87f0c25 Remove non-focused memory leak in `std` doctest for Miri.
a86fd0f0d19 Specialize `TrustedLen` for `Iterator::unzip()`
5515bbad984 Mitigate focused memory leaks in `core` doctests for Miri.
3a0fe26db17 Remove non-focused memory leaks in `core` doctests for Miri.
20d6cb372e6 Mitigate focused memory leaks in `alloc` doctests for Miri.
cac890232ed Remove non-focused memory leaks in `alloc` doctests for Miri.
bcdc8e8471d Stabilize const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes)
a48f566b9a4 offset_from intrinsic: always allow pointers to point to the same address
9919a83b414 Mark format! with must_use hint
0907955d257 as_simd: fix comment to be in line with 507583a (rust-lang#121201)
5569eceddd0 Rollup merge of rust-lang#127275 - RalfJung:offset-from-isize-min, r=Amanieu
2337ab518af Rollup merge of rust-lang#125751 - pitaj:new_range_api, r=jhpratt
ad4fde64af5 Rollup merge of rust-lang#127363 - GuillaumeGomez:improve-fmt-code-readability, r=Amanieu
3eeca5f7708 Rollup merge of rust-lang#127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix
1b5e5ac49eb Rollup merge of rust-lang#123600 - tisonkun:path_with_extension, r=dtolnay
5e9d4458222 Attempt to fix CI
d8965d365be add `new_range_api` for RFC 3550
ca0f659f69d Move exit guard from sys::common::exit_guard to sys::exit_guard.
cf300a7e34b Update library/std/src/sys/pal/common/exit_guard.rs
ba4c71a7433 add unit tests for extra extension feature
55fc20b7cbd update comments
6b7a259b4f0 Add experimental raw-dylib feature to std
c452e620459 Use windows_targets macro for alloc
521c81ab1c4 Run alloc sync tests
2fcdebb68d7 Improve readability of some fmt code examples
625bcc4987d Rollup merge of rust-lang#127320 - ChrisDenton:win-sys, r=Mark-Simulacrum
f8caf5f24be Rollup merge of rust-lang#127214 - bjorn3:miri_native_unwind, r=oli-obk
1862054af88 Describe Sized requirements for mem::offset_of
e26c8818397 impl FusedIterator and a size hint for the error sources iter
8f1c6640319 core: erase redundant stability attrs in va_list
60c33a58766 library: outline VaList into ffi::va_list
03d11c20585 Auto merge of rust-lang#126171 - RalfJung:simd_bitmask_multibyte, r=workingjubilee
297850a677e Add more checks for pointers with vtable meta
f58a3d6903e Improve dead code analysis
515bd305955 Add comments to windows_targets.rs
89d2de0f95f Update windows-bindgen to 0.58.0
0860a040c83 also remove redundant requirements from offset()
6f80604442b offset_from: "the difference must fit in an isize" is a corollary
de4f5c2ca62 Rollup merge of rust-lang#127303 - cuishuang:master, r=jhpratt
56c73c378a5 Rollup merge of rust-lang#127195 - biabbas:vxworks_cleanup, r=jhpratt
5dfdef71fae Rollup merge of rust-lang#126792 - wooden-worm:master, r=Mark-Simulacrum
4df2059a6f7 chore: remove repeat words
acbefbbdec7 impl PathBuf::add_extension and Path::with_added_extension
13d5a423f3d Auto merge of rust-lang#127226 - mat-1:optimize-siphash-round, r=nnethercote
ed3d4878d34 stir the hash state a little to avoid prefix collisions
5ca124f6d8a Add more test cases for path comparisons
33bc557dd48 Add test case demonstrating equality of paths "foo/bar" and "foobar"
079f99970d6 Move unique_thread_exit call to lang_start_internal so it is not in a generic function, and wrap it in `catch_unwind`
47d0cbc7e2f Remove Miri special-case
596be7ee7d7 Use pthread_t instead of numeric thread id
2e90f6f5e7c Use libc::pause instead of std::thread::park in wait-for-exit loop
1fd23e8568a core: Limit four f16 doctests to x86_64 linux
e6f15c579fa std: Set has_reliable_f16 to false for MIPS targets in build.rs
67535b62417 library/std/build.rs: "powerpc64le" is not a target_arch
5b0d82f32d8 Rollup merge of rust-lang#127204 - dimpolo:stabilize_atomic_bool_fetch_not, r=jhpratt
b184a84f13c Rollup merge of rust-lang#123588 - tgross35:stabilize-assert_unchecked, r=dtolnay
2a81053036c Fall back on remove dir implementation for vxworks
a8b6d0a2e51 Rollup merge of rust-lang#127230 - hattizai:patch01, r=saethlin
4d7cbb257ee chore: remove duplicate words
645e9f24d68 Optimize SipHash by reordering compress instructions
c5ab1f01d8c Rollup merge of rust-lang#127128 - elomatreb:elomatreb/stabilize-duration_abs_diff, r=joboet
f09067288ce Rollup merge of rust-lang#126732 - StackOverflowExcept1on:master, r=m-ou-se
1dc4f05eed8 Use the native unwind function in miri where possible
4fff3351c87 Avoid MIR bloat in inlining
4385efde634 Stabilize atomic_bool_fetch_not
6c3359cdb0b Rollup merge of rust-lang#127182 - danielhuang:patch-4, r=Nilstrieb
a0a438a75f2 Remove unqualified import io:: Error for vxworks as all Error references are qualified in process_vxworks.rs
2a65e9fd644 Auto merge of rust-lang#127026 - Urgau:cleanup-bootstrap-check-cfg, r=Kobzol
bba22002ec8 LinkedList's Cursor: method to get a ref to the cursor's list
40a9be9a29e Update ip_addr.rs
986dbd1b458 Print `TypeId` as hex for debugging
f27723e63ee Rollup merge of rust-lang#127069 - Sky9x:fmt-pointer-use-addr, r=Nilstrieb
b068fce0ad9 Rollup merge of rust-lang#126895 - betelgeuse:improve_simd_gather_documentation, r=Amanieu
a6b22e95975 Rollup merge of rust-lang#127134 - tgross35:typeid-debug, r=Nilstrieb
7f0bb45d5b9 Rollup merge of rust-lang#126906 - GrigorenkoPV:fixme-split_at_first, r=Mark-Simulacrum
b0feb54c3d8 Rollup merge of rust-lang#126705 - safinaskar:panic, r=Mark-Simulacrum
b8977f5a191 Auto merge of rust-lang#127133 - matthiaskrgr:rollup-jxkp3yf, r=matthiaskrgr
affa2f90405 Print `TypeId` as a `u128` for `Debug`
05a472c8d62 Rollup merge of rust-lang#127122 - TDecking:div_ceil, r=Nilstrieb
9b3a5111038 Auto merge of rust-lang#120639 - fee1-dead-contrib:new-effects-desugaring, r=oli-obk
f96a3214d6b Stabilize `duration_abs_diff`
bf9096fc013 small correction to fmt::Pointer impl
171f5dbb17b Auto merge of rust-lang#127121 - GuillaumeGomez:rollup-xjjjckn, r=GuillaumeGomez
50a66465304 Remove uneccessary condition in `div_ceil`
79143898a34 Updated docs on `#[panic_handler]` in `library/core/src/lib.rs`
1858bdce9b8 Rollup merge of rust-lang#127073 - Sky9x:unnecessary-seqcst, r=Nilstrieb
aaed20934c7 Rollup merge of rust-lang#127072 - Sky9x:docs-includes-vs-does-include, r=scottmcm
e5a577d85dc Auto merge of rust-lang#127119 - RalfJung:miri-sync, r=RalfJung
77a5b51293f Rollup merge of rust-lang#126953 - joboet:lazy_key, r=jhpratt
8641f6a3b19 Merge from rustc
402992c7d21 Rollup merge of rust-lang#127071 - Sky9x:remove-ptr-to-from-bits, r=scottmcm
0a2d8e47740 Rollup merge of rust-lang#127070 - Sky9x:unit-const-param-ty, r=BoxyUwU
663f3d54372 Rollup merge of rust-lang#127055 - shepmaster:hash-finish-must-use, r=dtolnay
729a10a00b8 address review comments
db228b821dd general fixups and turn `TODO`s into `FIXME`s
47492c9ec94 Implement `Min` trait in new solver
cc4a0293697 implement new effects desugaring
d6fadf5ac19 std: add safety comments
8c3c7dcea79 Rollup merge of rust-lang#126970 - DaniPopes:simplify-str-clone_into, r=cuviper
ae98528d9f3 Rollup merge of rust-lang#126956 - joboet:fmt_no_extern_ty, r=RalfJung
652f0b8fe38 Merge from rustc
48dc678b2c6 Remove unnecessary SeqCst in `impl fmt::Pointer for AtomicPtr`
e6e5e84cae6 docs: say "includes" instead of "does include"
a722d391cd8 Remove (deprecated & unstable) {to,from}_bits pointer methods
2ed9c9f5b62 add () to the marker_impls macro for ConstParamTy
fdfe0148965 Mark `Hasher::finish` as #[must_use]
2bd2069f1dd fix least significant digits of f128 associated constants
8db57c2b618 core: improve comment
1f8c8f42e51 Cleanup bootstrap check-cfg
6c38c60873f Rollup merge of rust-lang#126980 - Borgerr:fix-extendfromslice-check, r=workingjubilee
a2dc9b539e3 Rollup merge of rust-lang#126929 - nnethercote:rm-__rust_force_expr, r=oli-obk
cf231e8ada7 Merge from rustc
a8b311eb853 Auto merge of rust-lang#126608 - tgross35:f16-f128-library, r=Mark-Simulacrum
4788a93eee2 std: test a variety of ways to extend a Wtf8Buf
57c2de81f2b set self.is_known_utf8 to false in extend_from_slice
c14a130aa4a Rollup merge of rust-lang#126879 - the8472:next-chunk-filter-drop, r=cuviper
f6fdef3996a core: avoid `extern` types in formatting infrastructure
43a865ad540 fix UI test, simplify error message
ff33a6672e7 regression test for leaks in the the Filter::next_chunk implementation
f90972a4104 add comments explaining optimizations for Filter::next_chunk
4039a7f34e7 fix Drop items getting leaked in Filter::next_chunk
0351c5316c0 Simplify `str::clone_into`
5aedb8ada69 Rollup merge of rust-lang#126946 - cyrgani:patch-1, r=compiler-errors
5664da3fcac Rollup merge of rust-lang#126927 - workingjubilee:vaargsafe-is-unsafe, r=joboet
927337346fd Rollup merge of rust-lang#126885 - Borgerr:rm_internal_pathbuf_asmutvec, r=workingjubilee
46074aad759 Rollup merge of rust-lang#126302 - mu001999-contrib:ignore/default, r=michaelwoerister
0fe53622318 Stabilize const unchecked conversion from u32 to char
9dcaa15a8dc std: separate TLS key creation from TLS access
5d08a54141c Detect unused structs which derived Default
e6c45e4a711 `PathBuf::as_mut_vec` removed and verified for UEFI and Windows platforms rust-lang#126333
7cec6ef8d5e remove references to `PathBuf::as_mut_vec` in `PathBuf::_set_extension`
37f78f46760 inner truncate methods for UEFI platforms
cfb802176cb rust-lang#126333 remove `PathBuf::as_mut_vec` reference at top of `PathBuf::_push`
3edb521863d simd_bitmask intrinsic: add a non-power-of-2 multi-byte example
2ddf7942352 Add missing slash in const_eval_select doc comment
19cfdb2c317 Add tests for `f16` and `f128`
561daffd3f5 Add more `f16` and `f128` library functions and constants
6cb3d34841e Add doctests to existing `f16` and `f128` functions
b0e050324f9 Add build.rs config for reliable `f16` and `f128`
028026b9b30 Remove `__rust_force_expr`.
1069a689007 core: VaArgSafe is an unsafe trait
a451b2a9f8b Auto merge of rust-lang#126852 - scottmcm:more-checked-math-tweaks, r=Amanieu
17d03b950a4 Check that we get somewhat sane PIDs when spawning with pidfds
4c9a96eebda more fine-grained feature-detection for pidfd spawning
bf06e436d4a document safety properties of the internal Process::new constructor
9212236fc18 use pidfd_spawn for faster process creation when pidfds are requested
4815f2968d4 document the cvt methods
1bd207e6b0a Rollup merge of rust-lang#126904 - GrigorenkoPV:nonzero-fixme, r=joboet
2676918a59b Rollup merge of rust-lang#125575 - dingxiangfei2009:derive-smart-ptr, r=davidtwco
9dcffa5782f Rollup merge of rust-lang#125082 - kpreid:const-uninit, r=dtolnay
cf34f71c117 Replace `MaybeUninit::uninit_array()` with array repeat expression.
e51d8a2224f Auto merge of rust-lang#126523 - joboet:the_great_big_tls_refactor, r=Mark-Simulacrum
2b8c7a3813f Small fixme in core now that split_first has no codegen issues
532304befc3 Small fixme in core now that NonZero is generic
5ae0378035a std: fix wasm builds
ae08c581475 Rollup merge of rust-lang#126213 - zachs18:atomicbool-u8-i8-from-ptr-alignment, r=Nilstrieb
071e80d6c4a Fix simd_gather documentation
0c4a661ebdf wasm64 build with target-feature=+simd128,+atomics
36a20f7b383 Reword docs for `f32` and `f64`
6839ec5efd2 Extract repeated constants from `f32` and `f64` source
c26bd79991f Rollup merge of rust-lang#126854 - devnexen:std_unix_os_fallback_upd, r=Mark-Simulacrum
828e528d416 Rollup merge of rust-lang#126807 - devnexen:copy_file_macos_simpl, r=Mark-Simulacrum
e4bc79db7fe Also get `add nuw` from `uN::checked_add`
7c83a041921 SmartPointer derive-macro
f0b95fcce71 fix build
12ec5b7b691 Rollup merge of rust-lang#126783 - tguichaoua:fix_tcplistener_into_incoming_issue_number, r=workingjubilee
eb265d0841e std::unix::os::home_dir: fallback's optimisation.
a48f3d6475d Auto merge of rust-lang#126838 - matthiaskrgr:rollup-qkop22o, r=matthiaskrgr
ec8af4b3c06 Rollup merge of rust-lang#126552 - fee1-dead-contrib:rmfx, r=compiler-errors
6d6ba925574 Rollup merge of rust-lang#126140 - eduardosm:stabilize-fs_try_exists, r=Amanieu
e1edea8f3a4 Auto merge of rust-lang#116113 - kpreid:arcmut, r=dtolnay
49d4fdb09f1 Generalize `{Rc,Arc}::make_mut()` to unsized types.
5ac719ed6a2 Replace `WriteCloneIntoRaw` with `CloneToUninit`.
a4ca461939e Add `core::clone::CloneToUninit`.
78368435c65 Auto merge of rust-lang#126750 - scottmcm:less-unlikely, r=jhpratt
934e7286794 Auto merge of rust-lang#124101 - the8472:pidfd-methods, r=cuviper
c2ec99b6637 to extract a pidfd we must consume the child
f7cf777c00b Add PidFd::{kill, wait, try_wait}
d688595fa6c std::unix::fs: copy simplification for apple.
bb602cf940d Auto merge of rust-lang#125853 - tesuji:promote-fail-fast, r=cjgillot
1f1793634b4 update intrinsic const param counting
5e7ce0bad23 Remove `feature(effects)` from the standard library
8902c171c30 Auto merge of rust-lang#126781 - matthiaskrgr:rollup-5u4pens, r=matthiaskrgr
54eaed7e5ef fix issue number
2e01ae34277 Rollup merge of rust-lang#126613 - tgross35:log-test-update, r=cuviper
306d7bf153a Stop using `unlikely` in `strict_*` methods
a8ab1ceb396 [GVN] Add tests for generic pointees with PtrMetadata
a272844a6e1 Don't perform mitigation for thread-unsafe libc::exit under Miri.
5035a17dec1 fix rustdoc URL
1530977b9a5 On `target_os = "linux"`, ensure that only one Rust thread calls `libc::exit` or returns from `main`.
7e940ba00cf Auto merge of rust-lang#126578 - scottmcm:inlining-bonuses-too, r=davidtwco
9a945fdf0e9 Auto merge of rust-lang#124032 - Voultapher:a-new-sort, r=thomcc
dbaf524df30 Rollup merge of rust-lang#126737 - fee1-dead-contrib:rm-const-closures, r=compiler-errors
0f6922d6272 Fix wrong big O star bracing in the doc comments
7bf7f578614 Remove `feature(const_closures)` from libcore
b4e2e4ac6e9 Auto merge of rust-lang#126736 - matthiaskrgr:rollup-rb20oe3, r=matthiaskrgr
0829ab8d1b7 Rollup merge of rust-lang#126717 - nnethercote:rustfmt-use-pre-cleanups, r=jieyouxu
f1c9c809b1f Rollup merge of rust-lang#126711 - GKFX:const-option-as-slice, r=oli-obk
e0572323ddb Auto merge of rust-lang#116088 - nbdd0121:unwind, r=Amanieu,RalfJung
13ea648b170 Stabilize `PanicInfo::message()` and `PanicMessage`
b6a38581515 Rollup merge of rust-lang#126703 - the8472:on-blackbox-crypto-use, r=scottmcm
847726d1be8 Shrink some slice iterator MIR
1ba2fa4b637 Stabilize `hint_assert_unchecked`
9d0041c40d7 Update documentation for `hint::assert_unchecked`
e3e84a75a9b Add blank lines after module-level `//` comments.
36ad0db0a23 Add blank lines after module-level `//!` comments.
4e67110a2fb Convert some module-level `//` and `///` comments to `//!`.
669d6fce08c Make Option::as_[mut_]slice const
4ae781cb5e2 reword the hint::blackbox non-guarantees
dd7c901e95d core: add tracking issue for `array::repeat`
5ddeaca202b core: simplify implementation of `array::repeat`, address other nits
62f7a4e4e92 core: implement `UncheckedIterator` for `RepeatN`
387fd1f34c6 core: implement `array::repeat`
3fc18d0b40c Add a hack to prevent proc_macro misopt in CI
a95938d6730 Stabilise c_unwind
2a5e5b887ef Rollup merge of rust-lang#125787 - Oneirical:infinite-test-a-novel, r=jieyouxu
227994dbde2 try implementing suggestions
78867ab1aa0 run_make_support nm implementation + bin-emit-no-symbols rmake rewrite
76e61bf77a6 Replace `move||` with `move ||` in `compiler/` and `library/`
13a31b63b4f Auto merge of rust-lang#126330 - m-ou-se:panic-message-type, r=Amanieu
42802a3a09e Print the tested value in int_log tests
ea1ab74eb6d Add missing CopyMarker impl
384c2054629 Revert panic_safe test changes
ca458bac5ae Add PanicMessage type for PanicInfo::message().
22389455823 Add tracking issue to async_drop API
0b3227b6dac std: rename module for clarity
2b9a4f38bd6 std: update TLS module documentation
00d4964bb22 std: use the `c_int` from `core::ffi` instead of `libc`
bd3b9eca35a std: simplify `#[cfg]`s for TLS
78eaad5fb0a Fix unintended regression for Freeze + Copy types
8cd20cb8dc1 Auto merge of rust-lang#126569 - jieyouxu:rollup-1uvkb2y, r=jieyouxu
c1acd7a6844 Rollup merge of rust-lang#126531 - slanterns:error_provider, r=workingjubilee
cd1c9984d30 Rollup merge of rust-lang#126468 - RalfJung:euclid, r=Mark-Simulacrum
27308799efa Rollup merge of rust-lang#126346 - hermit-os:fd, r=Amanieu
ebbce699236 Rollup merge of rust-lang#126288 - x4exr:patch-1, r=dtolnay
4aa43c72385 Auto merge of rust-lang#125720 - folkertdev:optimize_for_size-ptr-rotate, r=Amanieu
791232945c4 doc: Added commas where needed
48e157873f1 Fix doc-link issue
489dfceabae Remove reliance on const_trait in sort implementations
89b578450c9 std: move `sys_common::backtrace` to `sys`
90dbe22a287 use rustc-dep-of-std in panic_unwind
6832ad31e1c Rollup merge of rust-lang#126539 - lukaslueg:patch-1, r=jhpratt
04e46c2630d Rollup merge of rust-lang#125112 - tbu-:pr_create_dir_all_empty, r=dtolnay
e77b4744b48 Update `Arc::try_unwrap()` docs
83c530fb2f8 Apply review comments
ae7f43eda80 Auto merge of rust-lang#126299 - scottmcm:tune-sliceindex-ubchecks, r=saethlin
339f26630a2 Redo SliceIndex implementations
2388743f251 update comment
4cc1c37692c Rollup merge of rust-lang#126229 - ChrisDenton:bindgen, r=Mark-Simulacrum
b40c54bb5bc std: refactor the TLS implementation
7e3c4f82606 Auto merge of rust-lang#126518 - matthiaskrgr:rollup-wb70rzq, r=matthiaskrgr
26785938493 std: suggest OnceLock over Once
b509ed20612 Polish `std::path::absolute` documentation.
c3c175798d2 Auto merge of rust-lang#126473 - matthiaskrgr:rollup-8w2xm09, r=matthiaskrgr
a135342704a Rollup merge of rust-lang#126285 - kpreid:unique-rc, r=dtolnay
7fafb6d366e Rollup merge of rust-lang#126266 - tbu-:pr_doc_alloc_default_system, r=jhpratt
afee9f5e11d Rollup merge of rust-lang#126135 - hermit-os:fuse, r=jhpratt
4a32b4bcf84 Rollup merge of rust-lang#123769 - dtolnay:literal, r=fee1-dead
3909d510924 div_euclid, rem_euclid: clarify/extend documentation
ca52a2ca0e3 Rollup merge of rust-lang#126351 - devnexen:to_sol11_upd, r=ChrisDenton
369fa557b2f Rollup merge of rust-lang#126402 - firefighterduck:fix-unsafe-precon-copy, r=Nilstrieb
2acb995e558 Rollup merge of rust-lang#126390 - Kriskras99:master, r=Nilstrieb
b3c1dcb8a6b Rollup merge of rust-lang#126360 - compiler-errors:uplift-structural-traits, r=lcnr
bdb9aa2f3cd Rollup merge of rust-lang#123726 - jieyouxu:command-new-docs, r=Nilstrieb
307d1afdbd4 Remove superfluous escaping from byte, byte str, and c str literals
78d94eeb0ff LangItem-ify Coroutine trait in solvers
891f00ce0fd fix wrong assert_unsafe_precondition message for core::ptr::copy
9adf702cc46 Rollup merge of rust-lang#126384 - RalfJung:is_none_or, r=workingjubilee
02cb1e9e580 Rollup merge of rust-lang#126347 - slanterns:try_simplify, r=scottmcm
fa2a54a54c6 Fix wording in {checked_}next_power_of_two
3ef894f8bc5 add tracking issue for is_none_or
a5fe19dc0bd std::unix::fs::link using direct linkat call for Solaris and macOs.
9921cd25ed1 Rollup merge of rust-lang#126328 - RalfJung:is_none_or, r=workingjubilee
93583a69853 Simplify `try_*` on `Iterator`
47090b15fb8 export std::os::fd module on HermitOS
17c90d81d23 Auto merge of rust-lang#126273 - pietroalbini:pa-bootstrap-update, r=Mark-Simulacrum
b482e06e29c add is_none_or
027c82e6edc Rollup merge of rust-lang#126322 - m-ou-se:panicinfo-and-panicinfo-2, r=RalfJung
db03ec6a89e Rollup merge of rust-lang#126242 - yaahc:simplify-provider, r=jhpratt
956efdef025 Rollup merge of rust-lang#126039 - dpaoliello:arm64ecbuild, r=davidtwco
3acb41fba7c Fix deprecated version.
bc5e618edd3 Update doc comment on PanicInfo::message().
249d63e985c Use payload_as_str instead of two downcasts.
15677e9f865 Fix deprecation version.
a239d5bf0e1 Clarify doc comment.
209f8c80d1f Auto merge of rust-lang#126319 - workingjubilee:rollup-lendnud, r=workingjubilee
6ec98e76fb6 Rollup merge of rust-lang#126305 - workingjubilee:fix-os-string-to-string-utf8-invariant, r=joboet
80467da88db Rollup merge of rust-lang#126287 - nnethercote:reformat-cranelift-patch, r=bjorn3
5760a4e9d4e Rollup merge of rust-lang#126281 - ChrisDenton:env, r=jhpratt
439c2ae36dc Rollup merge of rust-lang#126249 - workingjubilee:simplify-try-map-signature, r=scottmcm
23e3dbf043a Rollup merge of rust-lang#126210 - lolbinarycat:ptr_doctest_assert, r=workingjubilee
d46939470bf Rollup merge of rust-lang#123374 - mgeier:doc-slice-from-raw-parts, r=scottmcm
63fe960c257 Require any function with a tait in its signature to actually constrain a hidden type
e1d73c2d74a Revert "Rollup merge of rust-lang#125362 - joboet:tait_hack, r=Nilstrieb"
382ed528dc8 Make PathBuf less Ok with adding UTF-16 then `into_string`
548e7a4135e Update a cranelift patch file for formatting changes.
8ccbe9e6c8a `UniqueRc`: support allocators and `T: ?Sized`.
b3dcee69396 set_env: State the conclusion upfront
f56c02311ee Rename `std::fs::try_exists` to  `std::fs::exists` and stabilize fs_try_exists
c16d8b1f7a5 Unify guarantees about the default allocator
d8fe5899dc8 remove cfg(bootstrap)
a2ff49b68b4 replace version placeholder
f72e4a99cd5 Formatting.
0503ca79148 Bump deprecation of std's PanicInfo alias to 1.82.0.
fea6b035e61 Add PanicHookInfo::payload_as_str().
0c8a9e06b97 Fix display of panic message in recursive panic.
2f85702e572 Mention core's PanicInfo in error.md.
ad0667f9724 Add note on panic payload type.
518722eccfc Downcast panic payload to String too in example.
c4dea816f7f Move deprecation of std::panic::PanicInfo to 1.80.0.
143e4c4a40e Fix deprecation version.
c6749ae5b90 Rename std::panic::PanicInfo to PanicHookInfo.
db2e05588c5 Formatting.
51f20ac6148 Fix invalid markdown/html.
d4b7304c0de Reorder body of begin_panic for consistency.
373fb60b119 Impl Display for PanicPayload to simplify things.
224d45cf15c Use unnamed lifetimes for [..]Payload impl blocks.
cf984e0e154 Move downcasting panic payload to str to a function.
a18eeac0a12 Mark some PanicInfo methods as #[inline] for consistency.
47f359bc210 Remove std::panic::PanicInfo::internal_constructor+set_payload.
701d6a23254 Remove core::panic::PanicInfo::internal_constructor.
cca865dd137 Update doc comment about core::panicking.
221a90ccb77 Fix doc link.
d6658a5e3dd Add core::panic::PanicInfo::payload() for compatibility.
ca0bfebc0fe Document difference between core and std's PanicInfo.
702405ed414 Split core's PanicInfo and std's PanicInfo.
483f641ee13 Simplify `[T; N]::try_map` signature
8b6f468edd8 Simplify provider api to improve llvm ir
c8170e67b53 Rollup merge of rust-lang#126212 - SteveLauC:fix/haiku, r=joboet
58bb5cfddf4 Rollup merge of rust-lang#126191 - ivan-shrimp:nonzero_doc, r=scottmcm
d2f8ddfcc21 Bump windows-bindgen to 0.57
02bf1521553 Clarify `Command::new` behavior if passed programs with arguments
e17d6b968b4 Remove some unused crate dependencies.
5840184c348 Update docs for AtomicU8/I8.
87915497e69 fix: build on haiku
263861f45c9 Update safety docs for AtomicBool::from_ptr.
e25ae61e2b5 docs(core): make more const_ptr doctests assert instead of printing
cf9de23d66b Auto merge of rust-lang#126205 - jieyouxu:rollup-s64z5ng, r=jieyouxu
c5da756bc2a Rollup merge of rust-lang#126194 - ChrisDenton:winerror, r=Mark-Simulacrum
c4bd74c1902 Rollup merge of rust-lang#125253 - sunsided:feature/FRAC_1_SQRT_PI, r=Mark-Simulacrum
c9c5d8f0189 Auto merge of rust-lang#126193 - RalfJung:miri-sync, r=RalfJung
e39299d577e Migrate more things to WinError
0df0a38c38b fix `NonZero` doctest inconsistencies
818933db00d Rollup merge of rust-lang#126168 - devnexen:current_exe_haiku_simpl, r=ChrisDenton
a9bd5698ac7 Rollup merge of rust-lang#126146 - devnexen:signal_fbsd, r=ChrisDenton
05812a0309b Merge from rustc
56bdaf3dfb3 std::unix::os current_exe implementation simplification for haiku.
e6c378f9a8e Auto merge of rust-lang#125966 - schvv31n:impl_os_string_pathbuf_leak, r=workingjubilee
e000ecbd84a std::unix::process adding few specific freebsd signals to be able to id.
67454f58555 Rollup merge of rust-lang#126138 - wbk:patch-1, r=lqd
ca932c80555 Rollup merge of rust-lang#125998 - devnexen:get_mode_illumos, r=Nilstrieb
397e9cbe400 Rollup merge of rust-lang#125951 - slanterns:error_in_core_stabilization, r=Amanieu
4655eca9735 Fix typo in docs for std::pin
bb2e2d9fc7d add HermitOS support of vectored read/write operations
dd7ccb77633 Rollup merge of rust-lang#126089 - wutchzone:option_take_if, r=scottmcm
199da77e638 Rollup merge of rust-lang#126030 - ChrisDenton:update-wingen-readme, r=Mark-Simulacrum
8a4b11aa65d Rollup merge of rust-lang#124012 - slanterns:as_slice_stabilize, r=BurntSushi
05a92c2d02b Auto merge of rust-lang#126110 - workingjubilee:backtrace-0.3.73, r=workingjubilee
cd73cbea88a Update backtrace to 0.3.73
c6e53ce2b1a Merge from rustc
3b603356225 Rollup merge of rust-lang#125606 - diondokter:opt-size-int-fmt, r=cuviper
7014731c32e fix doc comments about `error_generic_member_access`
3f4816887c7 Stabilize `error_in_core`
20f15f4d41a fixed memory leaks in PathBuf::leak & OsString::leak tests
fa66a61d655 Rollup merge of rust-lang#126096 - c410-f3r:tests-tests-tests, r=jhpratt
57369442f0d [RFC-2011] Allow `core_intrinsics` when activated
dfddd7e5a86 Stabilize Option::take_if
051c6c60977 Raise `DEFAULT_MIN_STACK_SIZE` to at least 64KiB
29932f32723 Auto merge of rust-lang#126038 - matthiaskrgr:rollup-h4rm3x2, r=matthiaskrgr
149a2370c6e Promote `arm64ec-pc-windows-msvc` to tier 2
4a81c121a38 Rollup merge of rust-lang#126032 - ChrisDenton:update-docs, r=joboet
7450cf043b4 Rollup merge of rust-lang#125800 - fortanix:raoul/rte-99-fix_mut_static_task_queue, r=jethrogb
ed91d5578b4 Rollup merge of rust-lang#125940 - devnexen:unix_fs_netbsd_get_path, r=cuviper
bf7430fdc68 Update description of the `IsTerminal` example
91c8b231664 Update `./x fmt` command
16321651051 Rollup merge of rust-lang#125995 - kpreid:const-uninit-stable, r=Nilstrieb
2c5f1acc4c1 Rollup merge of rust-lang#125982 - xTachyon:fix-linked-list, r=jhpratt
80cee25cbad Rollup merge of rust-lang#123168 - joshtriplett:size-of-prelude, r=Amanieu
28dc012bfbf std::unix::fs::get_mode implementation for illumos/solaris.
14a6f295bcd Use inline const instead of unsafe to implement `MaybeUninit::uninit_array()`.
a2c3406e626 Use inline const instead of unsafe to construct arrays in `MaybeUninit` examples.
f8ee355f9c4 Rollup merge of rust-lang#125932 - schvv31n:patch-1, r=lqd
49dad463287 Rollup merge of rust-lang#125927 - ferrocene:lw-alloc-unwind-test, r=pietroalbini
e38c13a5962 Rollup merge of rust-lang#125696 - workingjubilee:please-dont-say-you-are-lazy, r=Nilstrieb
1764910ce42 Rollup merge of rust-lang#106186 - rossmacarthur:ft/iter-chain, r=Amanieu
fbb5246b92c Make deleting on LinkedList aware of the allocator
85aa4b6ae53 impl OsString::leak & PathBuf::leak
b19dd145ea9 Add function `core::iter::chain`
25245bba3d9 Rollup merge of rust-lang#125919 - tbu-:pr_fix_typo, r=lqd
a415dddaa0d Rollup merge of rust-lang#125504 - mqudsi:once_nominal, r=cuviper
ea7e91c6357 Let compiler auto impl `Send` for `Task`
55f3d10071c Store `Task::p` as `dyn FnOnce() + Send`
92b604f475f Pass function for `Thread` as `Send` to `Thread::imp`
175ad227af0 Auto merge of rust-lang#125525 - joboet:tls_accessor, r=cuviper
31e0022e8f2 std::unix::fs::get_path: using fcntl codepath for netbsd instead.
82e24ad44cd Fix typo in the docs of `HashMap::raw_entry_mut`
fcc07af4e3a Ignore `vec_deque_alloc_error::test_shrink_to_unwind` test on non-unwind targets
6ef46b31227 Auto merge of rust-lang#125912 - nnethercote:rustfmt-tests-mir-opt, r=oli-obk
79271381c4f Remove stray "this"
06d9b0e9397 Add "OnceList" example to motivate OnceLock
6d001c57db6 Move first OnceLock example to LazyLock
7e47256ddbf Differ LazyLock vs. OnceLock in std::sync overview
a198721997c Explain LazyCell in core::cell overview
ae5598aabc3 Reformat `mir!` macro invocations to use braces.
494f05c1d78 Rollup merge of rust-lang#125898 - RalfJung:typo, r=Nilstrieb
7881d33deef Rollup merge of rust-lang#125884 - Rua:integer_sign_cast, r=Mark-Simulacrum
380d9a3d410 Rollup merge of rust-lang#121062 - RustyYato:f32-midpoint, r=the8472
81b9e26560b Wording of the documentation
1c707b64249 typo: depending from -> on
fe5adb924fb Auto merge of rust-lang#125577 - devnexen:netbsd_stack_min, r=joboet
876458ec8a2 Implement feature `integer_sign_cast`
e929c7fda65 Change f32::midpoint to upcast to f64
cd0400080d5 Auto merge of rust-lang#124294 - tspiteri:ilog-first-iter, r=the8472
7f0b19dd24d stablize `const_binary_heap_constructor` & create an unstable feature `const_binary_heap_new_in` for `BinaryHeap::new_in`
5c2e2744f32 Rollup merge of rust-lang#125730 - mu001999-contrib:clippy-fix, r=oli-obk
9fe18037b50 Auto merge of rust-lang#124662 - zetanumbers:needs_async_drop, r=oli-obk
894310362d5 Avoid `mut` and simplify initialization of `TASK_QUEUE`
ba98164a104 Auto merge of rust-lang#124636 - tbu-:pr_env_unsafe, r=petrochenkov
bbaaa79ab59 Rollup merge of rust-lang#125746 - jmillikin:duration-from-weeks-typo, r=lqd
1329a62eb9e Rollup merge of rust-lang#125739 - RalfJung:drop-in-place-docs, r=workingjubilee
8883bcf630b Rollup merge of rust-lang#125342 - tbu-:pr_doc_write, r=ChrisDenton
14d5dcb4160 explain what the open questions are, and add a Miri test for that
6f01ba7ade6 Apply x clippy --fix and x fmt
c9c0713ee9b Fix copy-paste error in `Duration::from_weeks` panic message.
e935223b1b8 Rollup merge of rust-lang#125733 - compiler-errors:async-fn-assoc-item, r=fmease
4feb8819521 Elaborate about modifying env vars in multi-threaded programs
25007197aef Add note about safety of `std::env::set_var` on Windows
c4b1ff893a1 Make `std::env::{set_var, remove_var}` unsafe in edition 2024
07d3009644f drop_in_place: weaken the claim of equivalence with drop(ptr.read())
99eabb47fb4 Add lang item for AsyncFnKindHelper::Upvars
a8f468f97f8 Add lang item for Future::Output
2e1896e1976 Add lang items for AsyncFn's associated types
d82378a11dd [ACP 362] genericize `ptr::from_raw_parts`
619e33b0691 Add FRAC_1_SQRT_2PI doc alias to FRAC_1_SQRT_TAU
12652447f15 make `ptr::rotate` smaller when using `optimize_for_size`
bb6d4eb5be6 Add safety comment to fix tidy
c8b699c1ab2 Optimize async drop glue for some old types
0444ab852cd Add FRAC_1_SQRT_2PI constant to f16/f32/f64/f128
1aaf0a9adac Rollup merge of rust-lang#125226 - madsmtm:fix-mac-catalyst-tests, r=workingjubilee
565dce2d3fe Rollup merge of rust-lang#124251 - scottmcm:unop-ptr-metadata, r=oli-obk
a4025eba8f9 Add custom mir support for `PtrMetadata`
87b9f244814 Add an intrinsic for `ptr::metadata`
914d2c03f3a Rollup merge of rust-lang#125637 - nnethercote:rustfmt-fixes, r=GuillaumeGomez
3170156cbf5 Make more of the test suite run on Mac Catalyst
9753338652f Disable stack overflow handler tests on iOS-like platforms
35483898acf Don't format `tests/run-make/*/rmake.rs`.
6fcf1300f8b Rollup merge of rust-lang#125647 - tspiteri:track-lazy_cell_consume, r=workingjubilee
385e1b87512 Rollup merge of rust-lang#125551 - clarfonthey:ip-bits, r=jhpratt
457f5eebf4b update tracking issue for lazy_cell_consume
893db811403 Auto merge of rust-lang#125636 - workingjubilee:bump-backtrace-0.3.72, r=workingjubilee
67858588bb6 Sync libstd deps with backtrace
b2148722d86 Bump backtrace to 0.3.72
0ef7706b6c1 Auto merge of rust-lang#125609 - diondokter:opt-size-char-count, r=thomcc
3578f429478 Rollup merge of rust-lang#124870 - Lokathor:update-result-docs, r=dtolnay
d4fb66bf7aa Always use the general case char count
1e8098b6dd4 Size optimize int formatting
a74509c7872 Rollup merge of rust-lang#125559 - scottmcm:simplify-shift-ubcheck, r=workingjubilee
bc346a0aedb Auto merge of rust-lang#122079 - tbu-:pr_copy_file_range_probe, r=the8472
fdcee4d0921 std::pal::unix::thread fetching min stack size on netbsd.
d14171db7a1 Auto merge of rust-lang#125574 - matthiaskrgr:rollup-1oljoup, r=matthiaskrgr
3e545bcb6f3 Rollup merge of rust-lang#125571 - tesuji:dummy-pi, r=Nilstrieb
840944248ea Rollup merge of rust-lang#125561 - Cyborus04:stabilize-slice-flatten, r=scottmcm
8981ee4ff26 Auto merge of rust-lang#125570 - tesuji:stdout-handle, r=Nilstrieb
addaaed02ce f32: use constants instead of reassigning a dummy value as PI
8a6d10d57b7 use proper name instead of magic number
64671fa9e4b Stabilize `slice_flatten`
40140819538 Auto merge of rust-lang#125070 - tbu-:pr_set_extension_panic, r=jhpratt
f54c5577ff7 Auto merge of rust-lang#125518 - saethlin:check-arguments-new-in-const, r=joboet
a4bac2bc347 It seems that anchor names are implicitly all lowercase
7cddfd46930 Simplify the `unchecked_sh[lr]` ub-checks a bit
805f56b8e16 Fix URL target, it's in the module not the type.
3b77f19a9a8 github showed that weird.
65726c04182 correct for copy paste errors when fixing wrapping.
613145f6c4e Resolve rust-lang#124870 (comment)
9677b7057a8 revert to the inconsistent paragraph wrapping.
bf3ca983d95 Rollup merge of rust-lang#124667 - newpavlov:stabilize_div_duration, r=jhpratt
4af28c44c31 Rollup merge of rust-lang#123803 - Sp00ph:shrink_to_fix, r=Mark-Simulacrum
79e1daf6925 Rollup merge of rust-lang#122986 - taiki-e:aix-c-char, r=Mark-Simulacrum
0b13a6c1235 Rollup merge of rust-lang#121377 - pitaj:lazy_cell_fn_pointer, r=dtolnay
b1ac7da4a90 Stabilise ip_bits feature
23bb5bc4f4f Auto merge of rust-lang#121571 - clarfonthey:unchecked-math-preconditions, r=saethlin
c11b36abf02 Rollup merge of rust-lang#125527 - programmerjake:patch-2, r=workingjubilee
d6812d57a9e Rollup merge of rust-lang#125498 - zmodem:avx512er, r=workingjubilee
f52291bef6b Rollup merge of rust-lang#125478 - Urgau:check-cfg-config-bump-stage0, r=Mark-Simulacrum
38dcab941d6 Rollup merge of rust-lang#125271 - RalfJung:posix_memalign, r=workingjubilee
29a1b3b9ffd Move the checks for Arguments constructors to inline const
5257f3f01ac Add manual Sync impl for ReentrantLockGuard
078095a8b94 std: make TLS accessors closures that return pointers
567096dab49 Rollup merge of rust-lang#125497 - meesfrensel:patch-1, r=calebzulawski
dd828cf426c Stop using the avx512er and avx512pf x86 target features
749b3766746 Change pedantically incorrect OnceCell/OnceLock wording
2b1602ae72f Fix some SIMD intrinsics documentation
59b5617f8ce Remove now outdated comment since we bumped stage0
6d1cdb564d6 Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods
8fa3f607e33 Document behavior of `create_dir_all` wrt. empty path
dd196e7c132 Document platform-specifics for `Read` and `Write` of `File`
a71d9d9f8e9 Fix c_char on AIX
ce3db1b638a fix typo
49138842df5 use posix_memalign on most Unix targets
86878b964b1 Fix linkchecker doc errors
1bf7a30d31a Turn bare links into automatic links
736b2250797 Move BufGuard impl outside of function
a44e7b3adea Fix tidy errors
36af6395634 Replace sort implementations
48a835b093a Divide float nanoseconds instead of seconds
f84d57f6cc3 Don't use `T` with both Result and Option, improve explanation.
88338ff820a Add `size_of`, `size_of_val`, `align_of`, and `align_of_val` to the prelude
5d56638742b Panic if `PathBuf::set_extension` would add a path separator
7db52fca9b3 Add fn allocator method to rc/sync::Weak. Relax Rc<T>/Arc<T>::allocator to allow unsized T.
43bf016caa3 Suggest borrowing on fn argument that is `impl AsRef`
50d5af44701 use teletype on the attribute name
43ae1871a8b Some Result combinations work like an Option.
d0c07aa8677 Move `test_shrink_to_unwind` to its own file.
d77b1cc251a Fix `VecDeque::shrink_to` UB when `handle_alloc_error` unwinds.
0342284416b Use `CURRENT_RUSTC_VERSION`
9eb77db22f6 Stabilize `div_duration`
7a6ddb35da6 Lift the probe code of `copy_file_range` into a function
f5305c1c49a Add missing .into_iter()
2a5af324d19 Extend the example code and assert the result
678e5a09970 Add "safety" comment
ad38f9b8000 unroll first iter of checked_ilog loop to save one multiplication
dbd03d4517e Stabilize `BinaryHeap::as_slice`
08f761fb838 DOC: Add FFI example for slice::from_raw_parts()
30c876cbfb4 Be stricter with `copy_file_range` probe results
fe052461e10 Less syscalls for the `copy_file_range` probe
511fe47e8ea Stabilize `LazyCell` and `LazyLock` (`lazy_cell`)

git-subtree-dir: library
git-subtree-split: 5e4edbadcb79ec757e656770b177f46201c3da8f
jaisnan added a commit to model-checking/verify-rust-std that referenced this pull request Jul 17, 2024
a2cf63619d7 Rollup merge of rust-lang#127813 - ChrisDenton:win-futex, r=joboet
aeae3328f01 Rollup merge of rust-lang#127763 - ChrisDenton:safe-unsafe-unsafe, r=tgross35
e0ea7017a67 Prevent double reference in generic futex
417b61f271f Narrow the scope of the ReadFile unsafe block
b4d1392064c forbid(unsafe_op_in_unsafe_fn) in sys/os_str
f431b519c02 Rollup merge of rust-lang#127836 - workingjubilee:forbid-unsafe-ops-in-xous-uefi, r=tgross35
0a024bda728 Rollup merge of rust-lang#127833 - risc0:erik/zkvm-deny-unsafe, r=workingjubilee
0299bb5f196 Rollup merge of rust-lang#127807 - ChrisDenton:win-parking, r=joboet
61af010c325 Rollup merge of rust-lang#127792 - workingjubilee:read-unaligned-is-dwarfier, r=joboet
d3cf2e16181 Rollup merge of rust-lang#127444 - Sky9x:cstr-bytes-iter, r=dtolnay
12075d15f76 Rollup merge of rust-lang#126776 - nnethercote:rustfmt-use-pre-cleanups-2, r=cuviper
00d603fc9c1 Rollup merge of rust-lang#126271 - diondokter:dec2flt-skip-fast-path, r=tgross35
8490c84ffb2 Rollup merge of rust-lang#125206 - mgeisler:simplify-std-env-vars, r=jhpratt,tgross35
a752e3b2772 uefi: Forbid unwrapped unsafe in platform modules
32a1b078ba4 Cfg nit
e189d3b30e1 xous: Forbid unwrapped unsafe in platform modules
7ddd7f86509 zkvm: add `#[forbid(unsafe_op_in_unsafe_fn)]` in `stdlib`
0723962ffe1 Adjust some comments on individual `use` declarations.
4320ba0a9b5 Avoid comments that describe multiple `use` items.
1aeddb00b1e Merge some `core::iter` entries.
7a0b2fb5e16 Add unsafe blocks in unsafe Thread::new
8e76b152b93 Remove `slice_to_end`
e8527cdadb6 std: unwrapped unsafe is VERBOTEN!
5e4edbadcb7 Rollup merge of rust-lang#127789 - Sword-Destiny:master, r=petrochenkov
1b631e5f140 Use futex.rs for Windows thread parking
d59f862b675 std: Use read_unaligned for reading DWARF
686f75bb7a6 Rollup merge of rust-lang#127047 - tspiteri:f128-aconsts-lsd, r=tgross35
8b1d874a6ec deny unsafe_op_in_unsafe_fn for teeos
f8bb325e1cf clean unsafe op in unsafe fn
b5970178b63 clean unsafe op in unsafe fn
9fd9c61c0ef clean unsafe op in unsafe fn
e0c57e42237 delete #![allow(unsafe_op_in_unsafe_fn)]
704f56f5d84 `impl Send + Sync` and override `count` for the `CStr::bytes` iterator
a778c83ad92 Auto merge of rust-lang#127777 - matthiaskrgr:rollup-qp2vkan, r=matthiaskrgr
65355912072 Rollup merge of rust-lang#124921 - RalfJung:offset-from-same-addr, r=oli-obk
ac443f29c05 Auto merge of rust-lang#127020 - tgross35:f16-f128-classify, r=workingjubilee
57937d7f2bd allow(unsafe_op_in_unsafe_fn) on some functions
94b381d6fc6 Some Windows functions are safe
f3bb34b1088 Deny more windows unsafe_op_in_unsafe_fn
eae94518584 Rollup merge of rust-lang#127750 - ChrisDenton:safe-unsafe-unsafe, r=workingjubilee
6257980b38d Rollup merge of rust-lang#127744 - workingjubilee:deny-unsafe-op-in-std, r=jhpratt
05614f3ce16 Rollup merge of rust-lang#127712 - ChrisDenton:raw-types, r=workingjubilee
14c24b1ba4c Mark some `f16` and `f128` functions unstably const
1b70afd5267 Move safety comment outside unsafe block
3c286d52b7d Make os/windows default to deny unsafe in unsafe
d96ed862d21 Make pal/windows default to deny unsafe in unsafe
bb3f60f0e69 Fix Windows 7
9fc6710fe07 Auto merge of rust-lang#127719 - devnexen:math_log_fix_solill, r=Amanieu
decdb067d63 Don't re-export `c_int` from `c`
a1a1c6a2d51 Remove DWORD
7d189919173 Remove ULONG
d89bce6a28b Remove PSRWLOCK
d3205de3d53 Remove LPVOID
68ac381171e Remove LPSECURITY_ATTRIBUTES
6d037b83d39 Remove LPOVERLAPPED
61f617d370a Remove LPCVOID
8a2537133ee Remove SIZE_T
cd51de1f064 Remove CHAR
00a5b3b8733 Remove USHORT
d621d21f702 Remove LPWSTR
0b22ecb55af Remove UINT
18adceff5ae Remove LONG
4eaaf7dcb61 Remove LARGE_INTEGER
aa45985349c Remove NonZeroDWORD
d7aa7cf7242 Auto merge of rust-lang#127732 - GrigorenkoPV:teeos-safe-sys-init, r=Amanieu
5ff7b404d5e std: Unsafe-wrap std::sync
e8fa3ef2c24 std: Unsafe-wrap in Wtf8 impl
8c3a9c1c939 std: Unsafe-wrap std::io
91b7331a825 std: Directly call unsafe {un,}setenv in env
8c75111da55 std: Unsafe-wrap OSStr{,ing}::from_encoded_bytes_unchecked
4679f9a6cff std: Unsafe-wrap HashMap::get_many_unchecked_mut
ac0fd279184 std: deny(unsafe_op_in_unsafe_fn) but allow sites
f710e38693e Add `classify` and related methods for `f16` and `f128`
009660d51cc std: removes logarithms family function edge cases handling for solaris.
3492a6b5146 Auto merge of rust-lang#127728 - matthiaskrgr:rollup-ercdbjd, r=matthiaskrgr
08732993c73 sys::init is not unsafe on teeos
6c4029ad51b Rollup merge of rust-lang#127592 - tesuji:patch-1, r=Mark-Simulacrum
7cd8086b6c1 Auto merge of rust-lang#125935 - madsmtm:merge-os-apple, r=workingjubilee
cfb0556a7f1 Merge Apple `std::os` extensions modules into `std::os::darwin`
54435f79fa5 Rollup merge of rust-lang#127704 - workingjubilee:fixup-better-than, r=ChrisDenton
e1229496e7f Auto merge of rust-lang#127706 - workingjubilee:rollup-d07ij30, r=workingjubilee
30331206bd2 Rollup merge of rust-lang#127659 - saethlin:manually-drop-bufwriter, r=joboet
e9eb7de0b4a Rollup merge of rust-lang#127446 - zachs18:miri-stdlib-leaks-core-alloc, r=Mark-Simulacrum
3ad25605a1f Rollup merge of rust-lang#127370 - ChrisDenton:win-sys, r=Mark-Simulacrum
05bf6bcfaeb doc: Suggest `str::repeat` over `iter::repeat().take().collect()`
96e8ba7a40c Fix minor typos in std::process doc on Win argv
6b67c664112 Auto merge of rust-lang#126958 - dtolnay:u32char, r=Mark-Simulacrum
591aaaf1e3e std::unix::fs: removing, now useless, layers predating macOs 10.10.
94ec6e79526 Auto merge of rust-lang#127674 - jhpratt:rollup-0dxy3k7, r=jhpratt
a7c1f608ce4 Rollup merge of rust-lang#127668 - spencer3035:improve-slice-doc, r=jhpratt
1e49e055a69 Rollup merge of rust-lang#127661 - eduardosm:stabilize-io_slice_advance, r=cuviper
c79e0030810 Auto merge of rust-lang#127397 - jyn514:multi-thread-panic-hook, r=workingjubilee
206678cfcd3 Auto merge of rust-lang#126606 - zachs18:patch-2, r=joboet
1bb035080b7 Updated slice documentation
c8b79ddd46c Use ManuallyDrop in BufWriter::into_parts
6e26e27ee92 Stabilize io_slice_advance
cac66641bfb Rename the internal `const_strlen` to just `strlen`
39647aba92c fix interleaved panic output
0476fc4842e Rollup merge of rust-lang#127433 - dtolnay:conststrlen, r=workingjubilee
f66bd5fdfbd Rollup merge of rust-lang#126827 - the8472:pidfd-spawn, r=workingjubilee
1e5cd219cb6 Rollup merge of rust-lang#124980 - zachs18:rc-allocator, r=Amanieu
949f0d63178 Add instability attribute on private const_strlen function
20bfac6c159 Rollup merge of rust-lang#127422 - greaka:master, r=workingjubilee
f937ef12bda Rollup merge of rust-lang#127599 - tgross35:lazy_cell_consume-rename, r=workingjubilee
fde7fd261f2 Rollup merge of rust-lang#127588 - uweigand:s390x-f16-doctests, r=tgross35
ed47f986f1b Rollup merge of rust-lang#127572 - tbu-:pr_debug_event_nonpacked, r=jhpratt
e5c8b859b88 Rollup merge of rust-lang#124599 - estebank:issue-41708, r=wesleywiser
b71b538ec26 Rename `lazy_cell_consume` to `lazy_cell_into_inner`
9efc1cb294a core: Limit remaining f16 doctests to x86_64 linux
a18fbd0ad0e Rollup merge of rust-lang#127554 - ferrocene:tshepang-add-missing-attribute, r=pietroalbini
e419147a511 Don't mark `DEBUG_EVENT` struct as `repr(packed)`
4552576f397 Auto merge of rust-lang#126690 - andyolivares:feature/show_window, r=dtolnay
6f6e343956a Rollup merge of rust-lang#127091 - Sky9x:fused-error-sources-iter, r=dtolnay
0d64105175e Fixed doc links
4fb7b225972 Few changes to doc comments. Added tracking issue number.
fe62f6f8ad6 Exposing STARTUPINFOW.wShowWindow in CommandExt (show_window function) to control how a new process should display its window (normal, minimized, maximized, etc)
7d20047874d  do not run test where it cannot run
c5f1c76ddea Auto merge of rust-lang#127235 - martn3:no-mips-f16, r=tgross35,scottmcm
3fefa04a3c1 Rollup merge of rust-lang#127460 - Borgerr:clarify-drop-comment, r=jhpratt
895175ada33 Rollup merge of rust-lang#127355 - aceArt-GmbH:126475, r=oli-obk
57cea32952c Rollup merge of rust-lang#120248 - WaffleLapkin:bonk-ptr-object-casts, r=compiler-errors,oli-obk,lnicola
e74955e1f84 Attempt to fix CI
e466bf57650 Rollup merge of rust-lang#127367 - ChrisDenton:run-sync, r=Nilstrieb
90504f870c5 Rollup merge of rust-lang#126921 - workingjubilee:outline-va-list, r=Nilstrieb
c6b3f3db220 Auto merge of rust-lang#127454 - matthiaskrgr:rollup-k3vfen2, r=matthiaskrgr
29d792329d4 Move/change declaration of `mod exit_guard;`
ecc90251720 clarify `sys::unix::fd::FileDesc::drop` comment (rust-lang#66876)
35c5a456fea Rollup merge of rust-lang#127447 - RalfJung:once_lock_miri, r=joboet
9f7100d382c Rollup merge of rust-lang#127354 - nicholasbishop:bishop-sized-doc, r=Nilstrieb
ee06e7daee6 Rollup merge of rust-lang#127297 - the8472:path-new-hash, r=Nilstrieb
2206c6b52b9 Rollup merge of rust-lang#127189 - GrigorenkoPV:linkedlist-cursor-list, r=Nilstrieb
41bcc362ad5 Rollup merge of rust-lang#127179 - tgross35:typeid-debug-hex, r=Nilstrieb
7177ac878cc once_lock: make test not take as long in Miri
294d87f0c25 Remove non-focused memory leak in `std` doctest for Miri.
a86fd0f0d19 Specialize `TrustedLen` for `Iterator::unzip()`
5515bbad984 Mitigate focused memory leaks in `core` doctests for Miri.
3a0fe26db17 Remove non-focused memory leaks in `core` doctests for Miri.
20d6cb372e6 Mitigate focused memory leaks in `alloc` doctests for Miri.
cac890232ed Remove non-focused memory leaks in `alloc` doctests for Miri.
bcdc8e8471d Stabilize const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes)
a48f566b9a4 offset_from intrinsic: always allow pointers to point to the same address
9919a83b414 Mark format! with must_use hint
0907955d257 as_simd: fix comment to be in line with 507583a (rust-lang#121201)
5569eceddd0 Rollup merge of rust-lang#127275 - RalfJung:offset-from-isize-min, r=Amanieu
2337ab518af Rollup merge of rust-lang#125751 - pitaj:new_range_api, r=jhpratt
ad4fde64af5 Rollup merge of rust-lang#127363 - GuillaumeGomez:improve-fmt-code-readability, r=Amanieu
3eeca5f7708 Rollup merge of rust-lang#127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix
1b5e5ac49eb Rollup merge of rust-lang#123600 - tisonkun:path_with_extension, r=dtolnay
5e9d4458222 Attempt to fix CI
d8965d365be add `new_range_api` for RFC 3550
ca0f659f69d Move exit guard from sys::common::exit_guard to sys::exit_guard.
cf300a7e34b Update library/std/src/sys/pal/common/exit_guard.rs
ba4c71a7433 add unit tests for extra extension feature
55fc20b7cbd update comments
6b7a259b4f0 Add experimental raw-dylib feature to std
c452e620459 Use windows_targets macro for alloc
521c81ab1c4 Run alloc sync tests
2fcdebb68d7 Improve readability of some fmt code examples
625bcc4987d Rollup merge of rust-lang#127320 - ChrisDenton:win-sys, r=Mark-Simulacrum
f8caf5f24be Rollup merge of rust-lang#127214 - bjorn3:miri_native_unwind, r=oli-obk
1862054af88 Describe Sized requirements for mem::offset_of
e26c8818397 impl FusedIterator and a size hint for the error sources iter
8f1c6640319 core: erase redundant stability attrs in va_list
60c33a58766 library: outline VaList into ffi::va_list
03d11c20585 Auto merge of rust-lang#126171 - RalfJung:simd_bitmask_multibyte, r=workingjubilee
297850a677e Add more checks for pointers with vtable meta
f58a3d6903e Improve dead code analysis
515bd305955 Add comments to windows_targets.rs
89d2de0f95f Update windows-bindgen to 0.58.0
0860a040c83 also remove redundant requirements from offset()
6f80604442b offset_from: "the difference must fit in an isize" is a corollary
de4f5c2ca62 Rollup merge of rust-lang#127303 - cuishuang:master, r=jhpratt
56c73c378a5 Rollup merge of rust-lang#127195 - biabbas:vxworks_cleanup, r=jhpratt
5dfdef71fae Rollup merge of rust-lang#126792 - wooden-worm:master, r=Mark-Simulacrum
4df2059a6f7 chore: remove repeat words
acbefbbdec7 impl PathBuf::add_extension and Path::with_added_extension
13d5a423f3d Auto merge of rust-lang#127226 - mat-1:optimize-siphash-round, r=nnethercote
ed3d4878d34 stir the hash state a little to avoid prefix collisions
5ca124f6d8a Add more test cases for path comparisons
33bc557dd48 Add test case demonstrating equality of paths "foo/bar" and "foobar"
079f99970d6 Move unique_thread_exit call to lang_start_internal so it is not in a generic function, and wrap it in `catch_unwind`
47d0cbc7e2f Remove Miri special-case
596be7ee7d7 Use pthread_t instead of numeric thread id
2e90f6f5e7c Use libc::pause instead of std::thread::park in wait-for-exit loop
1fd23e8568a core: Limit four f16 doctests to x86_64 linux
e6f15c579fa std: Set has_reliable_f16 to false for MIPS targets in build.rs
67535b62417 library/std/build.rs: "powerpc64le" is not a target_arch
5b0d82f32d8 Rollup merge of rust-lang#127204 - dimpolo:stabilize_atomic_bool_fetch_not, r=jhpratt
b184a84f13c Rollup merge of rust-lang#123588 - tgross35:stabilize-assert_unchecked, r=dtolnay
2a81053036c Fall back on remove dir implementation for vxworks
a8b6d0a2e51 Rollup merge of rust-lang#127230 - hattizai:patch01, r=saethlin
4d7cbb257ee chore: remove duplicate words
645e9f24d68 Optimize SipHash by reordering compress instructions
c5ab1f01d8c Rollup merge of rust-lang#127128 - elomatreb:elomatreb/stabilize-duration_abs_diff, r=joboet
f09067288ce Rollup merge of rust-lang#126732 - StackOverflowExcept1on:master, r=m-ou-se
1dc4f05eed8 Use the native unwind function in miri where possible
4fff3351c87 Avoid MIR bloat in inlining
4385efde634 Stabilize atomic_bool_fetch_not
6c3359cdb0b Rollup merge of rust-lang#127182 - danielhuang:patch-4, r=Nilstrieb
a0a438a75f2 Remove unqualified import io:: Error for vxworks as all Error references are qualified in process_vxworks.rs
2a65e9fd644 Auto merge of rust-lang#127026 - Urgau:cleanup-bootstrap-check-cfg, r=Kobzol
bba22002ec8 LinkedList's Cursor: method to get a ref to the cursor's list
40a9be9a29e Update ip_addr.rs
986dbd1b458 Print `TypeId` as hex for debugging
f27723e63ee Rollup merge of rust-lang#127069 - Sky9x:fmt-pointer-use-addr, r=Nilstrieb
b068fce0ad9 Rollup merge of rust-lang#126895 - betelgeuse:improve_simd_gather_documentation, r=Amanieu
a6b22e95975 Rollup merge of rust-lang#127134 - tgross35:typeid-debug, r=Nilstrieb
7f0bb45d5b9 Rollup merge of rust-lang#126906 - GrigorenkoPV:fixme-split_at_first, r=Mark-Simulacrum
b0feb54c3d8 Rollup merge of rust-lang#126705 - safinaskar:panic, r=Mark-Simulacrum
b8977f5a191 Auto merge of rust-lang#127133 - matthiaskrgr:rollup-jxkp3yf, r=matthiaskrgr
affa2f90405 Print `TypeId` as a `u128` for `Debug`
05a472c8d62 Rollup merge of rust-lang#127122 - TDecking:div_ceil, r=Nilstrieb
9b3a5111038 Auto merge of rust-lang#120639 - fee1-dead-contrib:new-effects-desugaring, r=oli-obk
f96a3214d6b Stabilize `duration_abs_diff`
bf9096fc013 small correction to fmt::Pointer impl
171f5dbb17b Auto merge of rust-lang#127121 - GuillaumeGomez:rollup-xjjjckn, r=GuillaumeGomez
50a66465304 Remove uneccessary condition in `div_ceil`
79143898a34 Updated docs on `#[panic_handler]` in `library/core/src/lib.rs`
1858bdce9b8 Rollup merge of rust-lang#127073 - Sky9x:unnecessary-seqcst, r=Nilstrieb
aaed20934c7 Rollup merge of rust-lang#127072 - Sky9x:docs-includes-vs-does-include, r=scottmcm
e5a577d85dc Auto merge of rust-lang#127119 - RalfJung:miri-sync, r=RalfJung
77a5b51293f Rollup merge of rust-lang#126953 - joboet:lazy_key, r=jhpratt
8641f6a3b19 Merge from rustc
402992c7d21 Rollup merge of rust-lang#127071 - Sky9x:remove-ptr-to-from-bits, r=scottmcm
0a2d8e47740 Rollup merge of rust-lang#127070 - Sky9x:unit-const-param-ty, r=BoxyUwU
663f3d54372 Rollup merge of rust-lang#127055 - shepmaster:hash-finish-must-use, r=dtolnay
729a10a00b8 address review comments
db228b821dd general fixups and turn `TODO`s into `FIXME`s
47492c9ec94 Implement `Min` trait in new solver
cc4a0293697 implement new effects desugaring
d6fadf5ac19 std: add safety comments
8c3c7dcea79 Rollup merge of rust-lang#126970 - DaniPopes:simplify-str-clone_into, r=cuviper
ae98528d9f3 Rollup merge of rust-lang#126956 - joboet:fmt_no_extern_ty, r=RalfJung
652f0b8fe38 Merge from rustc
48dc678b2c6 Remove unnecessary SeqCst in `impl fmt::Pointer for AtomicPtr`
e6e5e84cae6 docs: say "includes" instead of "does include"
a722d391cd8 Remove (deprecated & unstable) {to,from}_bits pointer methods
2ed9c9f5b62 add () to the marker_impls macro for ConstParamTy
fdfe0148965 Mark `Hasher::finish` as #[must_use]
2bd2069f1dd fix least significant digits of f128 associated constants
8db57c2b618 core: improve comment
1f8c8f42e51 Cleanup bootstrap check-cfg
6c38c60873f Rollup merge of rust-lang#126980 - Borgerr:fix-extendfromslice-check, r=workingjubilee
a2dc9b539e3 Rollup merge of rust-lang#126929 - nnethercote:rm-__rust_force_expr, r=oli-obk
cf231e8ada7 Merge from rustc
a8b311eb853 Auto merge of rust-lang#126608 - tgross35:f16-f128-library, r=Mark-Simulacrum
4788a93eee2 std: test a variety of ways to extend a Wtf8Buf
57c2de81f2b set self.is_known_utf8 to false in extend_from_slice
c14a130aa4a Rollup merge of rust-lang#126879 - the8472:next-chunk-filter-drop, r=cuviper
f6fdef3996a core: avoid `extern` types in formatting infrastructure
43a865ad540 fix UI test, simplify error message
ff33a6672e7 regression test for leaks in the the Filter::next_chunk implementation
f90972a4104 add comments explaining optimizations for Filter::next_chunk
4039a7f34e7 fix Drop items getting leaked in Filter::next_chunk
0351c5316c0 Simplify `str::clone_into`
5aedb8ada69 Rollup merge of rust-lang#126946 - cyrgani:patch-1, r=compiler-errors
5664da3fcac Rollup merge of rust-lang#126927 - workingjubilee:vaargsafe-is-unsafe, r=joboet
927337346fd Rollup merge of rust-lang#126885 - Borgerr:rm_internal_pathbuf_asmutvec, r=workingjubilee
46074aad759 Rollup merge of rust-lang#126302 - mu001999-contrib:ignore/default, r=michaelwoerister
0fe53622318 Stabilize const unchecked conversion from u32 to char
9dcaa15a8dc std: separate TLS key creation from TLS access
5d08a54141c Detect unused structs which derived Default
e6c45e4a711 `PathBuf::as_mut_vec` removed and verified for UEFI and Windows platforms rust-lang#126333
7cec6ef8d5e remove references to `PathBuf::as_mut_vec` in `PathBuf::_set_extension`
37f78f46760 inner truncate methods for UEFI platforms
cfb802176cb rust-lang#126333 remove `PathBuf::as_mut_vec` reference at top of `PathBuf::_push`
3edb521863d simd_bitmask intrinsic: add a non-power-of-2 multi-byte example
2ddf7942352 Add missing slash in const_eval_select doc comment
19cfdb2c317 Add tests for `f16` and `f128`
561daffd3f5 Add more `f16` and `f128` library functions and constants
6cb3d34841e Add doctests to existing `f16` and `f128` functions
b0e050324f9 Add build.rs config for reliable `f16` and `f128`
028026b9b30 Remove `__rust_force_expr`.
1069a689007 core: VaArgSafe is an unsafe trait
a451b2a9f8b Auto merge of rust-lang#126852 - scottmcm:more-checked-math-tweaks, r=Amanieu
17d03b950a4 Check that we get somewhat sane PIDs when spawning with pidfds
4c9a96eebda more fine-grained feature-detection for pidfd spawning
bf06e436d4a document safety properties of the internal Process::new constructor
9212236fc18 use pidfd_spawn for faster process creation when pidfds are requested
4815f2968d4 document the cvt methods
1bd207e6b0a Rollup merge of rust-lang#126904 - GrigorenkoPV:nonzero-fixme, r=joboet
2676918a59b Rollup merge of rust-lang#125575 - dingxiangfei2009:derive-smart-ptr, r=davidtwco
9dcffa5782f Rollup merge of rust-lang#125082 - kpreid:const-uninit, r=dtolnay
cf34f71c117 Replace `MaybeUninit::uninit_array()` with array repeat expression.
e51d8a2224f Auto merge of rust-lang#126523 - joboet:the_great_big_tls_refactor, r=Mark-Simulacrum
2b8c7a3813f Small fixme in core now that split_first has no codegen issues
532304befc3 Small fixme in core now that NonZero is generic
5ae0378035a std: fix wasm builds
ae08c581475 Rollup merge of rust-lang#126213 - zachs18:atomicbool-u8-i8-from-ptr-alignment, r=Nilstrieb
071e80d6c4a Fix simd_gather documentation
0c4a661ebdf wasm64 build with target-feature=+simd128,+atomics
36a20f7b383 Reword docs for `f32` and `f64`
6839ec5efd2 Extract repeated constants from `f32` and `f64` source
c26bd79991f Rollup merge of rust-lang#126854 - devnexen:std_unix_os_fallback_upd, r=Mark-Simulacrum
828e528d416 Rollup merge of rust-lang#126807 - devnexen:copy_file_macos_simpl, r=Mark-Simulacrum
e4bc79db7fe Also get `add nuw` from `uN::checked_add`
7c83a041921 SmartPointer derive-macro
f0b95fcce71 fix build
12ec5b7b691 Rollup merge of rust-lang#126783 - tguichaoua:fix_tcplistener_into_incoming_issue_number, r=workingjubilee
eb265d0841e std::unix::os::home_dir: fallback's optimisation.
a48f3d6475d Auto merge of rust-lang#126838 - matthiaskrgr:rollup-qkop22o, r=matthiaskrgr
ec8af4b3c06 Rollup merge of rust-lang#126552 - fee1-dead-contrib:rmfx, r=compiler-errors
6d6ba925574 Rollup merge of rust-lang#126140 - eduardosm:stabilize-fs_try_exists, r=Amanieu
e1edea8f3a4 Auto merge of rust-lang#116113 - kpreid:arcmut, r=dtolnay
49d4fdb09f1 Generalize `{Rc,Arc}::make_mut()` to unsized types.
5ac719ed6a2 Replace `WriteCloneIntoRaw` with `CloneToUninit`.
a4ca461939e Add `core::clone::CloneToUninit`.
78368435c65 Auto merge of rust-lang#126750 - scottmcm:less-unlikely, r=jhpratt
934e7286794 Auto merge of rust-lang#124101 - the8472:pidfd-methods, r=cuviper
c2ec99b6637 to extract a pidfd we must consume the child
f7cf777c00b Add PidFd::{kill, wait, try_wait}
d688595fa6c std::unix::fs: copy simplification for apple.
bb602cf940d Auto merge of rust-lang#125853 - tesuji:promote-fail-fast, r=cjgillot
1f1793634b4 update intrinsic const param counting
5e7ce0bad23 Remove `feature(effects)` from the standard library
8902c171c30 Auto merge of rust-lang#126781 - matthiaskrgr:rollup-5u4pens, r=matthiaskrgr
54eaed7e5ef fix issue number
2e01ae34277 Rollup merge of rust-lang#126613 - tgross35:log-test-update, r=cuviper
306d7bf153a Stop using `unlikely` in `strict_*` methods
a8ab1ceb396 [GVN] Add tests for generic pointees with PtrMetadata
a272844a6e1 Don't perform mitigation for thread-unsafe libc::exit under Miri.
5035a17dec1 fix rustdoc URL
1530977b9a5 On `target_os = "linux"`, ensure that only one Rust thread calls `libc::exit` or returns from `main`.
7e940ba00cf Auto merge of rust-lang#126578 - scottmcm:inlining-bonuses-too, r=davidtwco
9a945fdf0e9 Auto merge of rust-lang#124032 - Voultapher:a-new-sort, r=thomcc
dbaf524df30 Rollup merge of rust-lang#126737 - fee1-dead-contrib:rm-const-closures, r=compiler-errors
0f6922d6272 Fix wrong big O star bracing in the doc comments
7bf7f578614 Remove `feature(const_closures)` from libcore
b4e2e4ac6e9 Auto merge of rust-lang#126736 - matthiaskrgr:rollup-rb20oe3, r=matthiaskrgr
0829ab8d1b7 Rollup merge of rust-lang#126717 - nnethercote:rustfmt-use-pre-cleanups, r=jieyouxu
f1c9c809b1f Rollup merge of rust-lang#126711 - GKFX:const-option-as-slice, r=oli-obk
e0572323ddb Auto merge of rust-lang#116088 - nbdd0121:unwind, r=Amanieu,RalfJung
13ea648b170 Stabilize `PanicInfo::message()` and `PanicMessage`
b6a38581515 Rollup merge of rust-lang#126703 - the8472:on-blackbox-crypto-use, r=scottmcm
847726d1be8 Shrink some slice iterator MIR
1ba2fa4b637 Stabilize `hint_assert_unchecked`
9d0041c40d7 Update documentation for `hint::assert_unchecked`
e3e84a75a9b Add blank lines after module-level `//` comments.
36ad0db0a23 Add blank lines after module-level `//!` comments.
4e67110a2fb Convert some module-level `//` and `///` comments to `//!`.
669d6fce08c Make Option::as_[mut_]slice const
4ae781cb5e2 reword the hint::blackbox non-guarantees
dd7c901e95d core: add tracking issue for `array::repeat`
5ddeaca202b core: simplify implementation of `array::repeat`, address other nits
62f7a4e4e92 core: implement `UncheckedIterator` for `RepeatN`
387fd1f34c6 core: implement `array::repeat`
3fc18d0b40c Add a hack to prevent proc_macro misopt in CI
a95938d6730 Stabilise c_unwind
2a5e5b887ef Rollup merge of rust-lang#125787 - Oneirical:infinite-test-a-novel, r=jieyouxu
227994dbde2 try implementing suggestions
78867ab1aa0 run_make_support nm implementation + bin-emit-no-symbols rmake rewrite
76e61bf77a6 Replace `move||` with `move ||` in `compiler/` and `library/`
13a31b63b4f Auto merge of rust-lang#126330 - m-ou-se:panic-message-type, r=Amanieu
42802a3a09e Print the tested value in int_log tests
ea1ab74eb6d Add missing CopyMarker impl
384c2054629 Revert panic_safe test changes
ca458bac5ae Add PanicMessage type for PanicInfo::message().
22389455823 Add tracking issue to async_drop API
0b3227b6dac std: rename module for clarity
2b9a4f38bd6 std: update TLS module documentation
00d4964bb22 std: use the `c_int` from `core::ffi` instead of `libc`
bd3b9eca35a std: simplify `#[cfg]`s for TLS
78eaad5fb0a Fix unintended regression for Freeze + Copy types
8cd20cb8dc1 Auto merge of rust-lang#126569 - jieyouxu:rollup-1uvkb2y, r=jieyouxu
c1acd7a6844 Rollup merge of rust-lang#126531 - slanterns:error_provider, r=workingjubilee
cd1c9984d30 Rollup merge of rust-lang#126468 - RalfJung:euclid, r=Mark-Simulacrum
27308799efa Rollup merge of rust-lang#126346 - hermit-os:fd, r=Amanieu
ebbce699236 Rollup merge of rust-lang#126288 - x4exr:patch-1, r=dtolnay
4aa43c72385 Auto merge of rust-lang#125720 - folkertdev:optimize_for_size-ptr-rotate, r=Amanieu
791232945c4 doc: Added commas where needed
48e157873f1 Fix doc-link issue
489dfceabae Remove reliance on const_trait in sort implementations
89b578450c9 std: move `sys_common::backtrace` to `sys`
90dbe22a287 use rustc-dep-of-std in panic_unwind
6832ad31e1c Rollup merge of rust-lang#126539 - lukaslueg:patch-1, r=jhpratt
04e46c2630d Rollup merge of rust-lang#125112 - tbu-:pr_create_dir_all_empty, r=dtolnay
e77b4744b48 Update `Arc::try_unwrap()` docs
83c530fb2f8 Apply review comments
ae7f43eda80 Auto merge of rust-lang#126299 - scottmcm:tune-sliceindex-ubchecks, r=saethlin
339f26630a2 Redo SliceIndex implementations
2388743f251 update comment
4cc1c37692c Rollup merge of rust-lang#126229 - ChrisDenton:bindgen, r=Mark-Simulacrum
b40c54bb5bc std: refactor the TLS implementation
7e3c4f82606 Auto merge of rust-lang#126518 - matthiaskrgr:rollup-wb70rzq, r=matthiaskrgr
26785938493 std: suggest OnceLock over Once
b509ed20612 Polish `std::path::absolute` documentation.
c3c175798d2 Auto merge of rust-lang#126473 - matthiaskrgr:rollup-8w2xm09, r=matthiaskrgr
a135342704a Rollup merge of rust-lang#126285 - kpreid:unique-rc, r=dtolnay
7fafb6d366e Rollup merge of rust-lang#126266 - tbu-:pr_doc_alloc_default_system, r=jhpratt
afee9f5e11d Rollup merge of rust-lang#126135 - hermit-os:fuse, r=jhpratt
4a32b4bcf84 Rollup merge of rust-lang#123769 - dtolnay:literal, r=fee1-dead
3909d510924 div_euclid, rem_euclid: clarify/extend documentation
ca52a2ca0e3 Rollup merge of rust-lang#126351 - devnexen:to_sol11_upd, r=ChrisDenton
369fa557b2f Rollup merge of rust-lang#126402 - firefighterduck:fix-unsafe-precon-copy, r=Nilstrieb
2acb995e558 Rollup merge of rust-lang#126390 - Kriskras99:master, r=Nilstrieb
b3c1dcb8a6b Rollup merge of rust-lang#126360 - compiler-errors:uplift-structural-traits, r=lcnr
bdb9aa2f3cd Rollup merge of rust-lang#123726 - jieyouxu:command-new-docs, r=Nilstrieb
307d1afdbd4 Remove superfluous escaping from byte, byte str, and c str literals
78d94eeb0ff LangItem-ify Coroutine trait in solvers
891f00ce0fd fix wrong assert_unsafe_precondition message for core::ptr::copy
9adf702cc46 Rollup merge of rust-lang#126384 - RalfJung:is_none_or, r=workingjubilee
02cb1e9e580 Rollup merge of rust-lang#126347 - slanterns:try_simplify, r=scottmcm
fa2a54a54c6 Fix wording in {checked_}next_power_of_two
3ef894f8bc5 add tracking issue for is_none_or
a5fe19dc0bd std::unix::fs::link using direct linkat call for Solaris and macOs.
9921cd25ed1 Rollup merge of rust-lang#126328 - RalfJung:is_none_or, r=workingjubilee
93583a69853 Simplify `try_*` on `Iterator`
47090b15fb8 export std::os::fd module on HermitOS
17c90d81d23 Auto merge of rust-lang#126273 - pietroalbini:pa-bootstrap-update, r=Mark-Simulacrum
b482e06e29c add is_none_or
027c82e6edc Rollup merge of rust-lang#126322 - m-ou-se:panicinfo-and-panicinfo-2, r=RalfJung
db03ec6a89e Rollup merge of rust-lang#126242 - yaahc:simplify-provider, r=jhpratt
956efdef025 Rollup merge of rust-lang#126039 - dpaoliello:arm64ecbuild, r=davidtwco
3acb41fba7c Fix deprecated version.
bc5e618edd3 Update doc comment on PanicInfo::message().
249d63e985c Use payload_as_str instead of two downcasts.
15677e9f865 Fix deprecation version.
a239d5bf0e1 Clarify doc comment.
209f8c80d1f Auto merge of rust-lang#126319 - workingjubilee:rollup-lendnud, r=workingjubilee
6ec98e76fb6 Rollup merge of rust-lang#126305 - workingjubilee:fix-os-string-to-string-utf8-invariant, r=joboet
80467da88db Rollup merge of rust-lang#126287 - nnethercote:reformat-cranelift-patch, r=bjorn3
5760a4e9d4e Rollup merge of rust-lang#126281 - ChrisDenton:env, r=jhpratt
439c2ae36dc Rollup merge of rust-lang#126249 - workingjubilee:simplify-try-map-signature, r=scottmcm
23e3dbf043a Rollup merge of rust-lang#126210 - lolbinarycat:ptr_doctest_assert, r=workingjubilee
d46939470bf Rollup merge of rust-lang#123374 - mgeier:doc-slice-from-raw-parts, r=scottmcm
63fe960c257 Require any function with a tait in its signature to actually constrain a hidden type
e1d73c2d74a Revert "Rollup merge of rust-lang#125362 - joboet:tait_hack, r=Nilstrieb"
382ed528dc8 Make PathBuf less Ok with adding UTF-16 then `into_string`
548e7a4135e Update a cranelift patch file for formatting changes.
8ccbe9e6c8a `UniqueRc`: support allocators and `T: ?Sized`.
b3dcee69396 set_env: State the conclusion upfront
f56c02311ee Rename `std::fs::try_exists` to  `std::fs::exists` and stabilize fs_try_exists
c16d8b1f7a5 Unify guarantees about the default allocator
d8fe5899dc8 remove cfg(bootstrap)
a2ff49b68b4 replace version placeholder
f72e4a99cd5 Formatting.
0503ca79148 Bump deprecation of std's PanicInfo alias to 1.82.0.
fea6b035e61 Add PanicHookInfo::payload_as_str().
0c8a9e06b97 Fix display of panic message in recursive panic.
2f85702e572 Mention core's PanicInfo in error.md.
ad0667f9724 Add note on panic payload type.
518722eccfc Downcast panic payload to String too in example.
c4dea816f7f Move deprecation of std::panic::PanicInfo to 1.80.0.
143e4c4a40e Fix deprecation version.
c6749ae5b90 Rename std::panic::PanicInfo to PanicHookInfo.
db2e05588c5 Formatting.
51f20ac6148 Fix invalid markdown/html.
d4b7304c0de Reorder body of begin_panic for consistency.
373fb60b119 Impl Display for PanicPayload to simplify things.
224d45cf15c Use unnamed lifetimes for [..]Payload impl blocks.
cf984e0e154 Move downcasting panic payload to str to a function.
a18eeac0a12 Mark some PanicInfo methods as #[inline] for consistency.
47f359bc210 Remove std::panic::PanicInfo::internal_constructor+set_payload.
701d6a23254 Remove core::panic::PanicInfo::internal_constructor.
cca865dd137 Update doc comment about core::panicking.
221a90ccb77 Fix doc link.
d6658a5e3dd Add core::panic::PanicInfo::payload() for compatibility.
ca0bfebc0fe Document difference between core and std's PanicInfo.
702405ed414 Split core's PanicInfo and std's PanicInfo.
019e01f23f5 Skip fast path for dec2flt when optimize_for_size
483f641ee13 Simplify `[T; N]::try_map` signature
8b6f468edd8 Simplify provider api to improve llvm ir
c8170e67b53 Rollup merge of rust-lang#126212 - SteveLauC:fix/haiku, r=joboet
58bb5cfddf4 Rollup merge of rust-lang#126191 - ivan-shrimp:nonzero_doc, r=scottmcm
d2f8ddfcc21 Bump windows-bindgen to 0.57
02bf1521553 Clarify `Command::new` behavior if passed programs with arguments
e17d6b968b4 Remove some unused crate dependencies.
5840184c348 Update docs for AtomicU8/I8.
87915497e69 fix: build on haiku
263861f45c9 Update safety docs for AtomicBool::from_ptr.
e25ae61e2b5 docs(core): make more const_ptr doctests assert instead of printing
cf9de23d66b Auto merge of rust-lang#126205 - jieyouxu:rollup-s64z5ng, r=jieyouxu
c5da756bc2a Rollup merge of rust-lang#126194 - ChrisDenton:winerror, r=Mark-Simulacrum
c4bd74c1902 Rollup merge of rust-lang#125253 - sunsided:feature/FRAC_1_SQRT_PI, r=Mark-Simulacrum
c9c5d8f0189 Auto merge of rust-lang#126193 - RalfJung:miri-sync, r=RalfJung
e39299d577e Migrate more things to WinError
0df0a38c38b fix `NonZero` doctest inconsistencies
818933db00d Rollup merge of rust-lang#126168 - devnexen:current_exe_haiku_simpl, r=ChrisDenton
a9bd5698ac7 Rollup merge of rust-lang#126146 - devnexen:signal_fbsd, r=ChrisDenton
05812a0309b Merge from rustc
56bdaf3dfb3 std::unix::os current_exe implementation simplification for haiku.
e6c378f9a8e Auto merge of rust-lang#125966 - schvv31n:impl_os_string_pathbuf_leak, r=workingjubilee
e000ecbd84a std::unix::process adding few specific freebsd signals to be able to id.
67454f58555 Rollup merge of rust-lang#126138 - wbk:patch-1, r=lqd
ca932c80555 Rollup merge of rust-lang#125998 - devnexen:get_mode_illumos, r=Nilstrieb
397e9cbe400 Rollup merge of rust-lang#125951 - slanterns:error_in_core_stabilization, r=Amanieu
4655eca9735 Fix typo in docs for std::pin
bb2e2d9fc7d add HermitOS support of vectored read/write operations
dd7ccb77633 Rollup merge of rust-lang#126089 - wutchzone:option_take_if, r=scottmcm
199da77e638 Rollup merge of rust-lang#126030 - ChrisDenton:update-wingen-readme, r=Mark-Simulacrum
8a4b11aa65d Rollup merge of rust-lang#124012 - slanterns:as_slice_stabilize, r=BurntSushi
05a92c2d02b Auto merge of rust-lang#126110 - workingjubilee:backtrace-0.3.73, r=workingjubilee
cd73cbea88a Update backtrace to 0.3.73
c6e53ce2b1a Merge from rustc
3b603356225 Rollup merge of rust-lang#125606 - diondokter:opt-size-int-fmt, r=cuviper
7014731c32e fix doc comments about `error_generic_member_access`
3f4816887c7 Stabilize `error_in_core`
20f15f4d41a fixed memory leaks in PathBuf::leak & OsString::leak tests
fa66a61d655 Rollup merge of rust-lang#126096 - c410-f3r:tests-tests-tests, r=jhpratt
57369442f0d [RFC-2011] Allow `core_intrinsics` when activated
dfddd7e5a86 Stabilize Option::take_if
051c6c60977 Raise `DEFAULT_MIN_STACK_SIZE` to at least 64KiB
29932f32723 Auto merge of rust-lang#126038 - matthiaskrgr:rollup-h4rm3x2, r=matthiaskrgr
149a2370c6e Promote `arm64ec-pc-windows-msvc` to tier 2
4a81c121a38 Rollup merge of rust-lang#126032 - ChrisDenton:update-docs, r=joboet
7450cf043b4 Rollup merge of rust-lang#125800 - fortanix:raoul/rte-99-fix_mut_static_task_queue, r=jethrogb
ed91d5578b4 Rollup merge of rust-lang#125940 - devnexen:unix_fs_netbsd_get_path, r=cuviper
bf7430fdc68 Update description of the `IsTerminal` example
91c8b231664 Update `./x fmt` command
16321651051 Rollup merge of rust-lang#125995 - kpreid:const-uninit-stable, r=Nilstrieb
2c5f1acc4c1 Rollup merge of rust-lang#125982 - xTachyon:fix-linked-list, r=jhpratt
80cee25cbad Rollup merge of rust-lang#123168 - joshtriplett:size-of-prelude, r=Amanieu
28dc012bfbf std::unix::fs::get_mode implementation for illumos/solaris.
14a6f295bcd Use inline const instead of unsafe to implement `MaybeUninit::uninit_array()`.
a2c3406e626 Use inline const instead of unsafe to construct arrays in `MaybeUninit` examples.
f8ee355f9c4 Rollup merge of rust-lang#125932 - schvv31n:patch-1, r=lqd
49dad463287 Rollup merge of rust-lang#125927 - ferrocene:lw-alloc-unwind-test, r=pietroalbini
e38c13a5962 Rollup merge of rust-lang#125696 - workingjubilee:please-dont-say-you-are-lazy, r=Nilstrieb
1764910ce42 Rollup merge of rust-lang#106186 - rossmacarthur:ft/iter-chain, r=Amanieu
fbb5246b92c Make deleting on LinkedList aware of the allocator
85aa4b6ae53 impl OsString::leak & PathBuf::leak
b19dd145ea9 Add function `core::iter::chain`
25245bba3d9 Rollup merge of rust-lang#125919 - tbu-:pr_fix_typo, r=lqd
a415dddaa0d Rollup merge of rust-lang#125504 - mqudsi:once_nominal, r=cuviper
ea7e91c6357 Let compiler auto impl `Send` for `Task`
55f3d10071c Store `Task::p` as `dyn FnOnce() + Send`
92b604f475f Pass function for `Thread` as `Send` to `Thread::imp`
175ad227af0 Auto merge of rust-lang#125525 - joboet:tls_accessor, r=cuviper
31e0022e8f2 std::unix::fs::get_path: using fcntl codepath for netbsd instead.
82e24ad44cd Fix typo in the docs of `HashMap::raw_entry_mut`
fcc07af4e3a Ignore `vec_deque_alloc_error::test_shrink_to_unwind` test on non-unwind targets
6ef46b31227 Auto merge of rust-lang#125912 - nnethercote:rustfmt-tests-mir-opt, r=oli-obk
79271381c4f Remove stray "this"
06d9b0e9397 Add "OnceList" example to motivate OnceLock
6d001c57db6 Move first OnceLock example to LazyLock
7e47256ddbf Differ LazyLock vs. OnceLock in std::sync overview
a198721997c Explain LazyCell in core::cell overview
ae5598aabc3 Reformat `mir!` macro invocations to use braces.
494f05c1d78 Rollup merge of rust-lang#125898 - RalfJung:typo, r=Nilstrieb
7881d33deef Rollup merge of rust-lang#125884 - Rua:integer_sign_cast, r=Mark-Simulacrum
380d9a3d410 Rollup merge of rust-lang#121062 - RustyYato:f32-midpoint, r=the8472
81b9e26560b Wording of the documentation
1c707b64249 typo: depending from -> on
fe5adb924fb Auto merge of rust-lang#125577 - devnexen:netbsd_stack_min, r=joboet
876458ec8a2 Implement feature `integer_sign_cast`
e929c7fda65 Change f32::midpoint to upcast to f64
cd0400080d5 Auto merge of rust-lang#124294 - tspiteri:ilog-first-iter, r=the8472
7f0b19dd24d stablize `const_binary_heap_constructor` & create an unstable feature `const_binary_heap_new_in` for `BinaryHeap::new_in`
5c2e2744f32 Rollup merge of rust-lang#125730 - mu001999-contrib:clippy-fix, r=oli-obk
9fe18037b50 Auto merge of rust-lang#124662 - zetanumbers:needs_async_drop, r=oli-obk
894310362d5 Avoid `mut` and simplify initialization of `TASK_QUEUE`
ba98164a104 Auto merge of rust-lang#124636 - tbu-:pr_env_unsafe, r=petrochenkov
bbaaa79ab59 Rollup merge of rust-lang#125746 - jmillikin:duration-from-weeks-typo, r=lqd
1329a62eb9e Rollup merge of rust-lang#125739 - RalfJung:drop-in-place-docs, r=workingjubilee
8883bcf630b Rollup merge of rust-lang#125342 - tbu-:pr_doc_write, r=ChrisDenton
14d5dcb4160 explain what the open questions are, and add a Miri test for that
6f01ba7ade6 Apply x clippy --fix and x fmt
c9c0713ee9b Fix copy-paste error in `Duration::from_weeks` panic message.
e935223b1b8 Rollup merge of rust-lang#125733 - compiler-errors:async-fn-assoc-item, r=fmease
4feb8819521 Elaborate about modifying env vars in multi-threaded programs
25007197aef Add note about safety of `std::env::set_var` on Windows
c4b1ff893a1 Make `std::env::{set_var, remove_var}` unsafe in edition 2024
07d3009644f drop_in_place: weaken the claim of equivalence with drop(ptr.read())
99eabb47fb4 Add lang item for AsyncFnKindHelper::Upvars
a8f468f97f8 Add lang item for Future::Output
2e1896e1976 Add lang items for AsyncFn's associated types
d82378a11dd [ACP 362] genericize `ptr::from_raw_parts`
619e33b0691 Add FRAC_1_SQRT_2PI doc alias to FRAC_1_SQRT_TAU
12652447f15 make `ptr::rotate` smaller when using `optimize_for_size`
bb6d4eb5be6 Add safety comment to fix tidy
c8b699c1ab2 Optimize async drop glue for some old types
0444ab852cd Add FRAC_1_SQRT_2PI constant to f16/f32/f64/f128
1aaf0a9adac Rollup merge of rust-lang#125226 - madsmtm:fix-mac-catalyst-tests, r=workingjubilee
565dce2d3fe Rollup merge of rust-lang#124251 - scottmcm:unop-ptr-metadata, r=oli-obk
a4025eba8f9 Add custom mir support for `PtrMetadata`
87b9f244814 Add an intrinsic for `ptr::metadata`
914d2c03f3a Rollup merge of rust-lang#125637 - nnethercote:rustfmt-fixes, r=GuillaumeGomez
3170156cbf5 Make more of the test suite run on Mac Catalyst
9753338652f Disable stack overflow handler tests on iOS-like platforms
35483898acf Don't format `tests/run-make/*/rmake.rs`.
6fcf1300f8b Rollup merge of rust-lang#125647 - tspiteri:track-lazy_cell_consume, r=workingjubilee
385e1b87512 Rollup merge of rust-lang#125551 - clarfonthey:ip-bits, r=jhpratt
457f5eebf4b update tracking issue for lazy_cell_consume
893db811403 Auto merge of rust-lang#125636 - workingjubilee:bump-backtrace-0.3.72, r=workingjubilee
67858588bb6 Sync libstd deps with backtrace
b2148722d86 Bump backtrace to 0.3.72
0ef7706b6c1 Auto merge of rust-lang#125609 - diondokter:opt-size-char-count, r=thomcc
3578f429478 Rollup merge of rust-lang#124870 - Lokathor:update-result-docs, r=dtolnay
d4fb66bf7aa Always use the general case char count
1e8098b6dd4 Size optimize int formatting
a74509c7872 Rollup merge of rust-lang#125559 - scottmcm:simplify-shift-ubcheck, r=workingjubilee
bc346a0aedb Auto merge of rust-lang#122079 - tbu-:pr_copy_file_range_probe, r=the8472
fdcee4d0921 std::pal::unix::thread fetching min stack size on netbsd.
d14171db7a1 Auto merge of rust-lang#125574 - matthiaskrgr:rollup-1oljoup, r=matthiaskrgr
3e545bcb6f3 Rollup merge of rust-lang#125571 - tesuji:dummy-pi, r=Nilstrieb
840944248ea Rollup merge of rust-lang#125561 - Cyborus04:stabilize-slice-flatten, r=scottmcm
8981ee4ff26 Auto merge of rust-lang#125570 - tesuji:stdout-handle, r=Nilstrieb
addaaed02ce f32: use constants instead of reassigning a dummy value as PI
8a6d10d57b7 use proper name instead of magic number
64671fa9e4b Stabilize `slice_flatten`
40140819538 Auto merge of rust-lang#125070 - tbu-:pr_set_extension_panic, r=jhpratt
f54c5577ff7 Auto merge of rust-lang#125518 - saethlin:check-arguments-new-in-const, r=joboet
a4bac2bc347 It seems that anchor names are implicitly all lowercase
7cddfd46930 Simplify the `unchecked_sh[lr]` ub-checks a bit
805f56b8e16 Fix URL target, it's in the module not the type.
3b77f19a9a8 github showed that weird.
65726c04182 correct for copy paste errors when fixing wrapping.
613145f6c4e Resolve rust-lang#124870 (comment)
9677b7057a8 revert to the inconsistent paragraph wrapping.
bf3ca983d95 Rollup merge of rust-lang#124667 - newpavlov:stabilize_div_duration, r=jhpratt
4af28c44c31 Rollup merge of rust-lang#123803 - Sp00ph:shrink_to_fix, r=Mark-Simulacrum
79e1daf6925 Rollup merge of rust-lang#122986 - taiki-e:aix-c-char, r=Mark-Simulacrum
0b13a6c1235 Rollup merge of rust-lang#121377 - pitaj:lazy_cell_fn_pointer, r=dtolnay
b1ac7da4a90 Stabilise ip_bits feature
23bb5bc4f4f Auto merge of rust-lang#121571 - clarfonthey:unchecked-math-preconditions, r=saethlin
c11b36abf02 Rollup merge of rust-lang#125527 - programmerjake:patch-2, r=workingjubilee
d6812d57a9e Rollup merge of rust-lang#125498 - zmodem:avx512er, r=workingjubilee
f52291bef6b Rollup merge of rust-lang#125478 - Urgau:check-cfg-config-bump-stage0, r=Mark-Simulacrum
38dcab941d6 Rollup merge of rust-lang#125271 - RalfJung:posix_memalign, r=workingjubilee
29a1b3b9ffd Move the checks for Arguments constructors to inline const
5257f3f01ac Add manual Sync impl for ReentrantLockGuard
078095a8b94 std: make TLS accessors closures that return pointers
567096dab49 Rollup merge of rust-lang#125497 - meesfrensel:patch-1, r=calebzulawski
dd828cf426c Stop using the avx512er and avx512pf x86 target features
749b3766746 Change pedantically incorrect OnceCell/OnceLock wording
2b1602ae72f Fix some SIMD intrinsics documentation
59b5617f8ce Remove now outdated comment since we bumped stage0
6d1cdb564d6 Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods
ce29159a108 Simplify environment variable examples
8fa3f607e33 Document behavior of `create_dir_all` wrt. empty path
dd196e7c132 Document platform-specifics for `Read` and `Write` of `File`
a71d9d9f8e9 Fix c_char on AIX
ce3db1b638a fix typo
49138842df5 use posix_memalign on most Unix targets
86878b964b1 Fix linkchecker doc errors
1bf7a30d31a Turn bare links into automatic links
736b2250797 Move BufGuard impl outside of function
a44e7b3adea Fix tidy errors
36af6395634 Replace sort implementations
48a835b093a Divide float nanoseconds instead of seconds
f84d57f6cc3 Don't use `T` with both Result and Option, improve explanation.
88338ff820a Add `size_of`, `size_of_val`, `align_of`, and `align_of_val` to the prelude
5d56638742b Panic if `PathBuf::set_extension` would add a path separator
7db52fca9b3 Add fn allocator method to rc/sync::Weak. Relax Rc<T>/Arc<T>::allocator to allow unsized T.
43bf016caa3 Suggest borrowing on fn argument that is `impl AsRef`
50d5af44701 use teletype on the attribute name
43ae1871a8b Some Result combinations work like an Option.
d0c07aa8677 Move `test_shrink_to_unwind` to its own file.
d77b1cc251a Fix `VecDeque::shrink_to` UB when `handle_alloc_error` unwinds.
0342284416b Use `CURRENT_RUSTC_VERSION`
9eb77db22f6 Stabilize `div_duration`
7a6ddb35da6 Lift the probe code of `copy_file_range` into a function
f5305c1c49a Add missing .into_iter()
2a5af324d19 Extend the example code and assert the result
678e5a09970 Add "safety" comment
ad38f9b8000 unroll first iter of checked_ilog loop to save one multiplication
dbd03d4517e Stabilize `BinaryHeap::as_slice`
08f761fb838 DOC: Add FFI example for slice::from_raw_parts()
30c876cbfb4 Be stricter with `copy_file_range` probe results
fe052461e10 Less syscalls for the `copy_file_range` probe
511fe47e8ea Stabilize `LazyCell` and `LazyLock` (`lazy_cell`)

git-subtree-dir: library
git-subtree-split: a2cf63619d70c12ce2cbd088982b6eea18777312
jaisnan added a commit to jaisnan/rust-dev that referenced this pull request Jul 17, 2024
a2cf63619d7 Rollup merge of rust-lang#127813 - ChrisDenton:win-futex, r=joboet
aeae3328f01 Rollup merge of rust-lang#127763 - ChrisDenton:safe-unsafe-unsafe, r=tgross35
e0ea7017a67 Prevent double reference in generic futex
417b61f271f Narrow the scope of the ReadFile unsafe block
b4d1392064c forbid(unsafe_op_in_unsafe_fn) in sys/os_str
f431b519c02 Rollup merge of rust-lang#127836 - workingjubilee:forbid-unsafe-ops-in-xous-uefi, r=tgross35
0a024bda728 Rollup merge of rust-lang#127833 - risc0:erik/zkvm-deny-unsafe, r=workingjubilee
0299bb5f196 Rollup merge of rust-lang#127807 - ChrisDenton:win-parking, r=joboet
61af010c325 Rollup merge of rust-lang#127792 - workingjubilee:read-unaligned-is-dwarfier, r=joboet
d3cf2e16181 Rollup merge of rust-lang#127444 - Sky9x:cstr-bytes-iter, r=dtolnay
12075d15f76 Rollup merge of rust-lang#126776 - nnethercote:rustfmt-use-pre-cleanups-2, r=cuviper
00d603fc9c1 Rollup merge of rust-lang#126271 - diondokter:dec2flt-skip-fast-path, r=tgross35
8490c84ffb2 Rollup merge of rust-lang#125206 - mgeisler:simplify-std-env-vars, r=jhpratt,tgross35
a752e3b2772 uefi: Forbid unwrapped unsafe in platform modules
32a1b078ba4 Cfg nit
e189d3b30e1 xous: Forbid unwrapped unsafe in platform modules
7ddd7f86509 zkvm: add `#[forbid(unsafe_op_in_unsafe_fn)]` in `stdlib`
0723962ffe1 Adjust some comments on individual `use` declarations.
4320ba0a9b5 Avoid comments that describe multiple `use` items.
1aeddb00b1e Merge some `core::iter` entries.
7a0b2fb5e16 Add unsafe blocks in unsafe Thread::new
8e76b152b93 Remove `slice_to_end`
e8527cdadb6 std: unwrapped unsafe is VERBOTEN!
5e4edbadcb7 Rollup merge of rust-lang#127789 - Sword-Destiny:master, r=petrochenkov
1b631e5f140 Use futex.rs for Windows thread parking
d59f862b675 std: Use read_unaligned for reading DWARF
686f75bb7a6 Rollup merge of rust-lang#127047 - tspiteri:f128-aconsts-lsd, r=tgross35
8b1d874a6ec deny unsafe_op_in_unsafe_fn for teeos
f8bb325e1cf clean unsafe op in unsafe fn
b5970178b63 clean unsafe op in unsafe fn
9fd9c61c0ef clean unsafe op in unsafe fn
e0c57e42237 delete #![allow(unsafe_op_in_unsafe_fn)]
704f56f5d84 `impl Send + Sync` and override `count` for the `CStr::bytes` iterator
a778c83ad92 Auto merge of rust-lang#127777 - matthiaskrgr:rollup-qp2vkan, r=matthiaskrgr
65355912072 Rollup merge of rust-lang#124921 - RalfJung:offset-from-same-addr, r=oli-obk
ac443f29c05 Auto merge of rust-lang#127020 - tgross35:f16-f128-classify, r=workingjubilee
57937d7f2bd allow(unsafe_op_in_unsafe_fn) on some functions
94b381d6fc6 Some Windows functions are safe
f3bb34b1088 Deny more windows unsafe_op_in_unsafe_fn
eae94518584 Rollup merge of rust-lang#127750 - ChrisDenton:safe-unsafe-unsafe, r=workingjubilee
6257980b38d Rollup merge of rust-lang#127744 - workingjubilee:deny-unsafe-op-in-std, r=jhpratt
05614f3ce16 Rollup merge of rust-lang#127712 - ChrisDenton:raw-types, r=workingjubilee
14c24b1ba4c Mark some `f16` and `f128` functions unstably const
1b70afd5267 Move safety comment outside unsafe block
3c286d52b7d Make os/windows default to deny unsafe in unsafe
d96ed862d21 Make pal/windows default to deny unsafe in unsafe
bb3f60f0e69 Fix Windows 7
9fc6710fe07 Auto merge of rust-lang#127719 - devnexen:math_log_fix_solill, r=Amanieu
decdb067d63 Don't re-export `c_int` from `c`
a1a1c6a2d51 Remove DWORD
7d189919173 Remove ULONG
d89bce6a28b Remove PSRWLOCK
d3205de3d53 Remove LPVOID
68ac381171e Remove LPSECURITY_ATTRIBUTES
6d037b83d39 Remove LPOVERLAPPED
61f617d370a Remove LPCVOID
8a2537133ee Remove SIZE_T
cd51de1f064 Remove CHAR
00a5b3b8733 Remove USHORT
d621d21f702 Remove LPWSTR
0b22ecb55af Remove UINT
18adceff5ae Remove LONG
4eaaf7dcb61 Remove LARGE_INTEGER
aa45985349c Remove NonZeroDWORD
d7aa7cf7242 Auto merge of rust-lang#127732 - GrigorenkoPV:teeos-safe-sys-init, r=Amanieu
5ff7b404d5e std: Unsafe-wrap std::sync
e8fa3ef2c24 std: Unsafe-wrap in Wtf8 impl
8c3a9c1c939 std: Unsafe-wrap std::io
91b7331a825 std: Directly call unsafe {un,}setenv in env
8c75111da55 std: Unsafe-wrap OSStr{,ing}::from_encoded_bytes_unchecked
4679f9a6cff std: Unsafe-wrap HashMap::get_many_unchecked_mut
ac0fd279184 std: deny(unsafe_op_in_unsafe_fn) but allow sites
f710e38693e Add `classify` and related methods for `f16` and `f128`
009660d51cc std: removes logarithms family function edge cases handling for solaris.
3492a6b5146 Auto merge of rust-lang#127728 - matthiaskrgr:rollup-ercdbjd, r=matthiaskrgr
08732993c73 sys::init is not unsafe on teeos
6c4029ad51b Rollup merge of rust-lang#127592 - tesuji:patch-1, r=Mark-Simulacrum
7cd8086b6c1 Auto merge of rust-lang#125935 - madsmtm:merge-os-apple, r=workingjubilee
cfb0556a7f1 Merge Apple `std::os` extensions modules into `std::os::darwin`
54435f79fa5 Rollup merge of rust-lang#127704 - workingjubilee:fixup-better-than, r=ChrisDenton
e1229496e7f Auto merge of rust-lang#127706 - workingjubilee:rollup-d07ij30, r=workingjubilee
30331206bd2 Rollup merge of rust-lang#127659 - saethlin:manually-drop-bufwriter, r=joboet
e9eb7de0b4a Rollup merge of rust-lang#127446 - zachs18:miri-stdlib-leaks-core-alloc, r=Mark-Simulacrum
3ad25605a1f Rollup merge of rust-lang#127370 - ChrisDenton:win-sys, r=Mark-Simulacrum
05bf6bcfaeb doc: Suggest `str::repeat` over `iter::repeat().take().collect()`
96e8ba7a40c Fix minor typos in std::process doc on Win argv
6b67c664112 Auto merge of rust-lang#126958 - dtolnay:u32char, r=Mark-Simulacrum
591aaaf1e3e std::unix::fs: removing, now useless, layers predating macOs 10.10.
94ec6e79526 Auto merge of rust-lang#127674 - jhpratt:rollup-0dxy3k7, r=jhpratt
a7c1f608ce4 Rollup merge of rust-lang#127668 - spencer3035:improve-slice-doc, r=jhpratt
1e49e055a69 Rollup merge of rust-lang#127661 - eduardosm:stabilize-io_slice_advance, r=cuviper
c79e0030810 Auto merge of rust-lang#127397 - jyn514:multi-thread-panic-hook, r=workingjubilee
206678cfcd3 Auto merge of rust-lang#126606 - zachs18:patch-2, r=joboet
1bb035080b7 Updated slice documentation
c8b79ddd46c Use ManuallyDrop in BufWriter::into_parts
6e26e27ee92 Stabilize io_slice_advance
cac66641bfb Rename the internal `const_strlen` to just `strlen`
39647aba92c fix interleaved panic output
0476fc4842e Rollup merge of rust-lang#127433 - dtolnay:conststrlen, r=workingjubilee
f66bd5fdfbd Rollup merge of rust-lang#126827 - the8472:pidfd-spawn, r=workingjubilee
1e5cd219cb6 Rollup merge of rust-lang#124980 - zachs18:rc-allocator, r=Amanieu
949f0d63178 Add instability attribute on private const_strlen function
20bfac6c159 Rollup merge of rust-lang#127422 - greaka:master, r=workingjubilee
f937ef12bda Rollup merge of rust-lang#127599 - tgross35:lazy_cell_consume-rename, r=workingjubilee
fde7fd261f2 Rollup merge of rust-lang#127588 - uweigand:s390x-f16-doctests, r=tgross35
ed47f986f1b Rollup merge of rust-lang#127572 - tbu-:pr_debug_event_nonpacked, r=jhpratt
e5c8b859b88 Rollup merge of rust-lang#124599 - estebank:issue-41708, r=wesleywiser
b71b538ec26 Rename `lazy_cell_consume` to `lazy_cell_into_inner`
9efc1cb294a core: Limit remaining f16 doctests to x86_64 linux
a18fbd0ad0e Rollup merge of rust-lang#127554 - ferrocene:tshepang-add-missing-attribute, r=pietroalbini
e419147a511 Don't mark `DEBUG_EVENT` struct as `repr(packed)`
4552576f397 Auto merge of rust-lang#126690 - andyolivares:feature/show_window, r=dtolnay
6f6e343956a Rollup merge of rust-lang#127091 - Sky9x:fused-error-sources-iter, r=dtolnay
0d64105175e Fixed doc links
4fb7b225972 Few changes to doc comments. Added tracking issue number.
fe62f6f8ad6 Exposing STARTUPINFOW.wShowWindow in CommandExt (show_window function) to control how a new process should display its window (normal, minimized, maximized, etc)
7d20047874d  do not run test where it cannot run
c5f1c76ddea Auto merge of rust-lang#127235 - martn3:no-mips-f16, r=tgross35,scottmcm
3fefa04a3c1 Rollup merge of rust-lang#127460 - Borgerr:clarify-drop-comment, r=jhpratt
895175ada33 Rollup merge of rust-lang#127355 - aceArt-GmbH:126475, r=oli-obk
57cea32952c Rollup merge of rust-lang#120248 - WaffleLapkin:bonk-ptr-object-casts, r=compiler-errors,oli-obk,lnicola
e74955e1f84 Attempt to fix CI
e466bf57650 Rollup merge of rust-lang#127367 - ChrisDenton:run-sync, r=Nilstrieb
90504f870c5 Rollup merge of rust-lang#126921 - workingjubilee:outline-va-list, r=Nilstrieb
c6b3f3db220 Auto merge of rust-lang#127454 - matthiaskrgr:rollup-k3vfen2, r=matthiaskrgr
29d792329d4 Move/change declaration of `mod exit_guard;`
ecc90251720 clarify `sys::unix::fd::FileDesc::drop` comment (rust-lang#66876)
35c5a456fea Rollup merge of rust-lang#127447 - RalfJung:once_lock_miri, r=joboet
9f7100d382c Rollup merge of rust-lang#127354 - nicholasbishop:bishop-sized-doc, r=Nilstrieb
ee06e7daee6 Rollup merge of rust-lang#127297 - the8472:path-new-hash, r=Nilstrieb
2206c6b52b9 Rollup merge of rust-lang#127189 - GrigorenkoPV:linkedlist-cursor-list, r=Nilstrieb
41bcc362ad5 Rollup merge of rust-lang#127179 - tgross35:typeid-debug-hex, r=Nilstrieb
7177ac878cc once_lock: make test not take as long in Miri
294d87f0c25 Remove non-focused memory leak in `std` doctest for Miri.
a86fd0f0d19 Specialize `TrustedLen` for `Iterator::unzip()`
5515bbad984 Mitigate focused memory leaks in `core` doctests for Miri.
3a0fe26db17 Remove non-focused memory leaks in `core` doctests for Miri.
20d6cb372e6 Mitigate focused memory leaks in `alloc` doctests for Miri.
cac890232ed Remove non-focused memory leaks in `alloc` doctests for Miri.
bcdc8e8471d Stabilize const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes)
a48f566b9a4 offset_from intrinsic: always allow pointers to point to the same address
9919a83b414 Mark format! with must_use hint
0907955d257 as_simd: fix comment to be in line with 507583a (rust-lang#121201)
5569eceddd0 Rollup merge of rust-lang#127275 - RalfJung:offset-from-isize-min, r=Amanieu
2337ab518af Rollup merge of rust-lang#125751 - pitaj:new_range_api, r=jhpratt
ad4fde64af5 Rollup merge of rust-lang#127363 - GuillaumeGomez:improve-fmt-code-readability, r=Amanieu
3eeca5f7708 Rollup merge of rust-lang#127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix
1b5e5ac49eb Rollup merge of rust-lang#123600 - tisonkun:path_with_extension, r=dtolnay
5e9d4458222 Attempt to fix CI
d8965d365be add `new_range_api` for RFC 3550
ca0f659f69d Move exit guard from sys::common::exit_guard to sys::exit_guard.
cf300a7e34b Update library/std/src/sys/pal/common/exit_guard.rs
ba4c71a7433 add unit tests for extra extension feature
55fc20b7cbd update comments
6b7a259b4f0 Add experimental raw-dylib feature to std
c452e620459 Use windows_targets macro for alloc
521c81ab1c4 Run alloc sync tests
2fcdebb68d7 Improve readability of some fmt code examples
625bcc4987d Rollup merge of rust-lang#127320 - ChrisDenton:win-sys, r=Mark-Simulacrum
f8caf5f24be Rollup merge of rust-lang#127214 - bjorn3:miri_native_unwind, r=oli-obk
1862054af88 Describe Sized requirements for mem::offset_of
e26c8818397 impl FusedIterator and a size hint for the error sources iter
8f1c6640319 core: erase redundant stability attrs in va_list
60c33a58766 library: outline VaList into ffi::va_list
03d11c20585 Auto merge of rust-lang#126171 - RalfJung:simd_bitmask_multibyte, r=workingjubilee
297850a677e Add more checks for pointers with vtable meta
f58a3d6903e Improve dead code analysis
515bd305955 Add comments to windows_targets.rs
89d2de0f95f Update windows-bindgen to 0.58.0
0860a040c83 also remove redundant requirements from offset()
6f80604442b offset_from: "the difference must fit in an isize" is a corollary
de4f5c2ca62 Rollup merge of rust-lang#127303 - cuishuang:master, r=jhpratt
56c73c378a5 Rollup merge of rust-lang#127195 - biabbas:vxworks_cleanup, r=jhpratt
5dfdef71fae Rollup merge of rust-lang#126792 - wooden-worm:master, r=Mark-Simulacrum
4df2059a6f7 chore: remove repeat words
acbefbbdec7 impl PathBuf::add_extension and Path::with_added_extension
13d5a423f3d Auto merge of rust-lang#127226 - mat-1:optimize-siphash-round, r=nnethercote
ed3d4878d34 stir the hash state a little to avoid prefix collisions
5ca124f6d8a Add more test cases for path comparisons
33bc557dd48 Add test case demonstrating equality of paths "foo/bar" and "foobar"
079f99970d6 Move unique_thread_exit call to lang_start_internal so it is not in a generic function, and wrap it in `catch_unwind`
47d0cbc7e2f Remove Miri special-case
596be7ee7d7 Use pthread_t instead of numeric thread id
2e90f6f5e7c Use libc::pause instead of std::thread::park in wait-for-exit loop
1fd23e8568a core: Limit four f16 doctests to x86_64 linux
e6f15c579fa std: Set has_reliable_f16 to false for MIPS targets in build.rs
67535b62417 library/std/build.rs: "powerpc64le" is not a target_arch
5b0d82f32d8 Rollup merge of rust-lang#127204 - dimpolo:stabilize_atomic_bool_fetch_not, r=jhpratt
b184a84f13c Rollup merge of rust-lang#123588 - tgross35:stabilize-assert_unchecked, r=dtolnay
2a81053036c Fall back on remove dir implementation for vxworks
a8b6d0a2e51 Rollup merge of rust-lang#127230 - hattizai:patch01, r=saethlin
4d7cbb257ee chore: remove duplicate words
645e9f24d68 Optimize SipHash by reordering compress instructions
c5ab1f01d8c Rollup merge of rust-lang#127128 - elomatreb:elomatreb/stabilize-duration_abs_diff, r=joboet
f09067288ce Rollup merge of rust-lang#126732 - StackOverflowExcept1on:master, r=m-ou-se
1dc4f05eed8 Use the native unwind function in miri where possible
4fff3351c87 Avoid MIR bloat in inlining
4385efde634 Stabilize atomic_bool_fetch_not
6c3359cdb0b Rollup merge of rust-lang#127182 - danielhuang:patch-4, r=Nilstrieb
a0a438a75f2 Remove unqualified import io:: Error for vxworks as all Error references are qualified in process_vxworks.rs
2a65e9fd644 Auto merge of rust-lang#127026 - Urgau:cleanup-bootstrap-check-cfg, r=Kobzol
bba22002ec8 LinkedList's Cursor: method to get a ref to the cursor's list
40a9be9a29e Update ip_addr.rs
986dbd1b458 Print `TypeId` as hex for debugging
f27723e63ee Rollup merge of rust-lang#127069 - Sky9x:fmt-pointer-use-addr, r=Nilstrieb
b068fce0ad9 Rollup merge of rust-lang#126895 - betelgeuse:improve_simd_gather_documentation, r=Amanieu
a6b22e95975 Rollup merge of rust-lang#127134 - tgross35:typeid-debug, r=Nilstrieb
7f0bb45d5b9 Rollup merge of rust-lang#126906 - GrigorenkoPV:fixme-split_at_first, r=Mark-Simulacrum
b0feb54c3d8 Rollup merge of rust-lang#126705 - safinaskar:panic, r=Mark-Simulacrum
b8977f5a191 Auto merge of rust-lang#127133 - matthiaskrgr:rollup-jxkp3yf, r=matthiaskrgr
affa2f90405 Print `TypeId` as a `u128` for `Debug`
05a472c8d62 Rollup merge of rust-lang#127122 - TDecking:div_ceil, r=Nilstrieb
9b3a5111038 Auto merge of rust-lang#120639 - fee1-dead-contrib:new-effects-desugaring, r=oli-obk
f96a3214d6b Stabilize `duration_abs_diff`
bf9096fc013 small correction to fmt::Pointer impl
171f5dbb17b Auto merge of rust-lang#127121 - GuillaumeGomez:rollup-xjjjckn, r=GuillaumeGomez
50a66465304 Remove uneccessary condition in `div_ceil`
79143898a34 Updated docs on `#[panic_handler]` in `library/core/src/lib.rs`
1858bdce9b8 Rollup merge of rust-lang#127073 - Sky9x:unnecessary-seqcst, r=Nilstrieb
aaed20934c7 Rollup merge of rust-lang#127072 - Sky9x:docs-includes-vs-does-include, r=scottmcm
e5a577d85dc Auto merge of rust-lang#127119 - RalfJung:miri-sync, r=RalfJung
77a5b51293f Rollup merge of rust-lang#126953 - joboet:lazy_key, r=jhpratt
8641f6a3b19 Merge from rustc
402992c7d21 Rollup merge of rust-lang#127071 - Sky9x:remove-ptr-to-from-bits, r=scottmcm
0a2d8e47740 Rollup merge of rust-lang#127070 - Sky9x:unit-const-param-ty, r=BoxyUwU
663f3d54372 Rollup merge of rust-lang#127055 - shepmaster:hash-finish-must-use, r=dtolnay
729a10a00b8 address review comments
db228b821dd general fixups and turn `TODO`s into `FIXME`s
47492c9ec94 Implement `Min` trait in new solver
cc4a0293697 implement new effects desugaring
d6fadf5ac19 std: add safety comments
8c3c7dcea79 Rollup merge of rust-lang#126970 - DaniPopes:simplify-str-clone_into, r=cuviper
ae98528d9f3 Rollup merge of rust-lang#126956 - joboet:fmt_no_extern_ty, r=RalfJung
652f0b8fe38 Merge from rustc
48dc678b2c6 Remove unnecessary SeqCst in `impl fmt::Pointer for AtomicPtr`
e6e5e84cae6 docs: say "includes" instead of "does include"
a722d391cd8 Remove (deprecated & unstable) {to,from}_bits pointer methods
2ed9c9f5b62 add () to the marker_impls macro for ConstParamTy
fdfe0148965 Mark `Hasher::finish` as #[must_use]
2bd2069f1dd fix least significant digits of f128 associated constants
8db57c2b618 core: improve comment
1f8c8f42e51 Cleanup bootstrap check-cfg
6c38c60873f Rollup merge of rust-lang#126980 - Borgerr:fix-extendfromslice-check, r=workingjubilee
a2dc9b539e3 Rollup merge of rust-lang#126929 - nnethercote:rm-__rust_force_expr, r=oli-obk
cf231e8ada7 Merge from rustc
a8b311eb853 Auto merge of rust-lang#126608 - tgross35:f16-f128-library, r=Mark-Simulacrum
4788a93eee2 std: test a variety of ways to extend a Wtf8Buf
57c2de81f2b set self.is_known_utf8 to false in extend_from_slice
c14a130aa4a Rollup merge of rust-lang#126879 - the8472:next-chunk-filter-drop, r=cuviper
f6fdef3996a core: avoid `extern` types in formatting infrastructure
43a865ad540 fix UI test, simplify error message
ff33a6672e7 regression test for leaks in the the Filter::next_chunk implementation
f90972a4104 add comments explaining optimizations for Filter::next_chunk
4039a7f34e7 fix Drop items getting leaked in Filter::next_chunk
0351c5316c0 Simplify `str::clone_into`
5aedb8ada69 Rollup merge of rust-lang#126946 - cyrgani:patch-1, r=compiler-errors
5664da3fcac Rollup merge of rust-lang#126927 - workingjubilee:vaargsafe-is-unsafe, r=joboet
927337346fd Rollup merge of rust-lang#126885 - Borgerr:rm_internal_pathbuf_asmutvec, r=workingjubilee
46074aad759 Rollup merge of rust-lang#126302 - mu001999-contrib:ignore/default, r=michaelwoerister
0fe53622318 Stabilize const unchecked conversion from u32 to char
9dcaa15a8dc std: separate TLS key creation from TLS access
5d08a54141c Detect unused structs which derived Default
e6c45e4a711 `PathBuf::as_mut_vec` removed and verified for UEFI and Windows platforms rust-lang#126333
7cec6ef8d5e remove references to `PathBuf::as_mut_vec` in `PathBuf::_set_extension`
37f78f46760 inner truncate methods for UEFI platforms
cfb802176cb rust-lang#126333 remove `PathBuf::as_mut_vec` reference at top of `PathBuf::_push`
3edb521863d simd_bitmask intrinsic: add a non-power-of-2 multi-byte example
2ddf7942352 Add missing slash in const_eval_select doc comment
19cfdb2c317 Add tests for `f16` and `f128`
561daffd3f5 Add more `f16` and `f128` library functions and constants
6cb3d34841e Add doctests to existing `f16` and `f128` functions
b0e050324f9 Add build.rs config for reliable `f16` and `f128`
028026b9b30 Remove `__rust_force_expr`.
1069a689007 core: VaArgSafe is an unsafe trait
a451b2a9f8b Auto merge of rust-lang#126852 - scottmcm:more-checked-math-tweaks, r=Amanieu
17d03b950a4 Check that we get somewhat sane PIDs when spawning with pidfds
4c9a96eebda more fine-grained feature-detection for pidfd spawning
bf06e436d4a document safety properties of the internal Process::new constructor
9212236fc18 use pidfd_spawn for faster process creation when pidfds are requested
4815f2968d4 document the cvt methods
1bd207e6b0a Rollup merge of rust-lang#126904 - GrigorenkoPV:nonzero-fixme, r=joboet
2676918a59b Rollup merge of rust-lang#125575 - dingxiangfei2009:derive-smart-ptr, r=davidtwco
9dcffa5782f Rollup merge of rust-lang#125082 - kpreid:const-uninit, r=dtolnay
cf34f71c117 Replace `MaybeUninit::uninit_array()` with array repeat expression.
e51d8a2224f Auto merge of rust-lang#126523 - joboet:the_great_big_tls_refactor, r=Mark-Simulacrum
2b8c7a3813f Small fixme in core now that split_first has no codegen issues
532304befc3 Small fixme in core now that NonZero is generic
5ae0378035a std: fix wasm builds
ae08c581475 Rollup merge of rust-lang#126213 - zachs18:atomicbool-u8-i8-from-ptr-alignment, r=Nilstrieb
071e80d6c4a Fix simd_gather documentation
0c4a661ebdf wasm64 build with target-feature=+simd128,+atomics
36a20f7b383 Reword docs for `f32` and `f64`
6839ec5efd2 Extract repeated constants from `f32` and `f64` source
c26bd79991f Rollup merge of rust-lang#126854 - devnexen:std_unix_os_fallback_upd, r=Mark-Simulacrum
828e528d416 Rollup merge of rust-lang#126807 - devnexen:copy_file_macos_simpl, r=Mark-Simulacrum
e4bc79db7fe Also get `add nuw` from `uN::checked_add`
7c83a041921 SmartPointer derive-macro
f0b95fcce71 fix build
12ec5b7b691 Rollup merge of rust-lang#126783 - tguichaoua:fix_tcplistener_into_incoming_issue_number, r=workingjubilee
eb265d0841e std::unix::os::home_dir: fallback's optimisation.
a48f3d6475d Auto merge of rust-lang#126838 - matthiaskrgr:rollup-qkop22o, r=matthiaskrgr
ec8af4b3c06 Rollup merge of rust-lang#126552 - fee1-dead-contrib:rmfx, r=compiler-errors
6d6ba925574 Rollup merge of rust-lang#126140 - eduardosm:stabilize-fs_try_exists, r=Amanieu
e1edea8f3a4 Auto merge of rust-lang#116113 - kpreid:arcmut, r=dtolnay
49d4fdb09f1 Generalize `{Rc,Arc}::make_mut()` to unsized types.
5ac719ed6a2 Replace `WriteCloneIntoRaw` with `CloneToUninit`.
a4ca461939e Add `core::clone::CloneToUninit`.
78368435c65 Auto merge of rust-lang#126750 - scottmcm:less-unlikely, r=jhpratt
934e7286794 Auto merge of rust-lang#124101 - the8472:pidfd-methods, r=cuviper
c2ec99b6637 to extract a pidfd we must consume the child
f7cf777c00b Add PidFd::{kill, wait, try_wait}
d688595fa6c std::unix::fs: copy simplification for apple.
bb602cf940d Auto merge of rust-lang#125853 - tesuji:promote-fail-fast, r=cjgillot
1f1793634b4 update intrinsic const param counting
5e7ce0bad23 Remove `feature(effects)` from the standard library
8902c171c30 Auto merge of rust-lang#126781 - matthiaskrgr:rollup-5u4pens, r=matthiaskrgr
54eaed7e5ef fix issue number
2e01ae34277 Rollup merge of rust-lang#126613 - tgross35:log-test-update, r=cuviper
306d7bf153a Stop using `unlikely` in `strict_*` methods
a8ab1ceb396 [GVN] Add tests for generic pointees with PtrMetadata
a272844a6e1 Don't perform mitigation for thread-unsafe libc::exit under Miri.
5035a17dec1 fix rustdoc URL
1530977b9a5 On `target_os = "linux"`, ensure that only one Rust thread calls `libc::exit` or returns from `main`.
7e940ba00cf Auto merge of rust-lang#126578 - scottmcm:inlining-bonuses-too, r=davidtwco
9a945fdf0e9 Auto merge of rust-lang#124032 - Voultapher:a-new-sort, r=thomcc
dbaf524df30 Rollup merge of rust-lang#126737 - fee1-dead-contrib:rm-const-closures, r=compiler-errors
0f6922d6272 Fix wrong big O star bracing in the doc comments
7bf7f578614 Remove `feature(const_closures)` from libcore
b4e2e4ac6e9 Auto merge of rust-lang#126736 - matthiaskrgr:rollup-rb20oe3, r=matthiaskrgr
0829ab8d1b7 Rollup merge of rust-lang#126717 - nnethercote:rustfmt-use-pre-cleanups, r=jieyouxu
f1c9c809b1f Rollup merge of rust-lang#126711 - GKFX:const-option-as-slice, r=oli-obk
e0572323ddb Auto merge of rust-lang#116088 - nbdd0121:unwind, r=Amanieu,RalfJung
13ea648b170 Stabilize `PanicInfo::message()` and `PanicMessage`
b6a38581515 Rollup merge of rust-lang#126703 - the8472:on-blackbox-crypto-use, r=scottmcm
847726d1be8 Shrink some slice iterator MIR
1ba2fa4b637 Stabilize `hint_assert_unchecked`
9d0041c40d7 Update documentation for `hint::assert_unchecked`
e3e84a75a9b Add blank lines after module-level `//` comments.
36ad0db0a23 Add blank lines after module-level `//!` comments.
4e67110a2fb Convert some module-level `//` and `///` comments to `//!`.
669d6fce08c Make Option::as_[mut_]slice const
4ae781cb5e2 reword the hint::blackbox non-guarantees
dd7c901e95d core: add tracking issue for `array::repeat`
5ddeaca202b core: simplify implementation of `array::repeat`, address other nits
62f7a4e4e92 core: implement `UncheckedIterator` for `RepeatN`
387fd1f34c6 core: implement `array::repeat`
3fc18d0b40c Add a hack to prevent proc_macro misopt in CI
a95938d6730 Stabilise c_unwind
2a5e5b887ef Rollup merge of rust-lang#125787 - Oneirical:infinite-test-a-novel, r=jieyouxu
227994dbde2 try implementing suggestions
78867ab1aa0 run_make_support nm implementation + bin-emit-no-symbols rmake rewrite
76e61bf77a6 Replace `move||` with `move ||` in `compiler/` and `library/`
13a31b63b4f Auto merge of rust-lang#126330 - m-ou-se:panic-message-type, r=Amanieu
42802a3a09e Print the tested value in int_log tests
ea1ab74eb6d Add missing CopyMarker impl
384c2054629 Revert panic_safe test changes
ca458bac5ae Add PanicMessage type for PanicInfo::message().
22389455823 Add tracking issue to async_drop API
0b3227b6dac std: rename module for clarity
2b9a4f38bd6 std: update TLS module documentation
00d4964bb22 std: use the `c_int` from `core::ffi` instead of `libc`
bd3b9eca35a std: simplify `#[cfg]`s for TLS
78eaad5fb0a Fix unintended regression for Freeze + Copy types
8cd20cb8dc1 Auto merge of rust-lang#126569 - jieyouxu:rollup-1uvkb2y, r=jieyouxu
c1acd7a6844 Rollup merge of rust-lang#126531 - slanterns:error_provider, r=workingjubilee
cd1c9984d30 Rollup merge of rust-lang#126468 - RalfJung:euclid, r=Mark-Simulacrum
27308799efa Rollup merge of rust-lang#126346 - hermit-os:fd, r=Amanieu
ebbce699236 Rollup merge of rust-lang#126288 - x4exr:patch-1, r=dtolnay
4aa43c72385 Auto merge of rust-lang#125720 - folkertdev:optimize_for_size-ptr-rotate, r=Amanieu
791232945c4 doc: Added commas where needed
48e157873f1 Fix doc-link issue
489dfceabae Remove reliance on const_trait in sort implementations
89b578450c9 std: move `sys_common::backtrace` to `sys`
90dbe22a287 use rustc-dep-of-std in panic_unwind
6832ad31e1c Rollup merge of rust-lang#126539 - lukaslueg:patch-1, r=jhpratt
04e46c2630d Rollup merge of rust-lang#125112 - tbu-:pr_create_dir_all_empty, r=dtolnay
e77b4744b48 Update `Arc::try_unwrap()` docs
83c530fb2f8 Apply review comments
ae7f43eda80 Auto merge of rust-lang#126299 - scottmcm:tune-sliceindex-ubchecks, r=saethlin
339f26630a2 Redo SliceIndex implementations
2388743f251 update comment
4cc1c37692c Rollup merge of rust-lang#126229 - ChrisDenton:bindgen, r=Mark-Simulacrum
b40c54bb5bc std: refactor the TLS implementation
7e3c4f82606 Auto merge of rust-lang#126518 - matthiaskrgr:rollup-wb70rzq, r=matthiaskrgr
26785938493 std: suggest OnceLock over Once
b509ed20612 Polish `std::path::absolute` documentation.
c3c175798d2 Auto merge of rust-lang#126473 - matthiaskrgr:rollup-8w2xm09, r=matthiaskrgr
a135342704a Rollup merge of rust-lang#126285 - kpreid:unique-rc, r=dtolnay
7fafb6d366e Rollup merge of rust-lang#126266 - tbu-:pr_doc_alloc_default_system, r=jhpratt
afee9f5e11d Rollup merge of rust-lang#126135 - hermit-os:fuse, r=jhpratt
4a32b4bcf84 Rollup merge of rust-lang#123769 - dtolnay:literal, r=fee1-dead
3909d510924 div_euclid, rem_euclid: clarify/extend documentation
ca52a2ca0e3 Rollup merge of rust-lang#126351 - devnexen:to_sol11_upd, r=ChrisDenton
369fa557b2f Rollup merge of rust-lang#126402 - firefighterduck:fix-unsafe-precon-copy, r=Nilstrieb
2acb995e558 Rollup merge of rust-lang#126390 - Kriskras99:master, r=Nilstrieb
b3c1dcb8a6b Rollup merge of rust-lang#126360 - compiler-errors:uplift-structural-traits, r=lcnr
bdb9aa2f3cd Rollup merge of rust-lang#123726 - jieyouxu:command-new-docs, r=Nilstrieb
307d1afdbd4 Remove superfluous escaping from byte, byte str, and c str literals
78d94eeb0ff LangItem-ify Coroutine trait in solvers
891f00ce0fd fix wrong assert_unsafe_precondition message for core::ptr::copy
9adf702cc46 Rollup merge of rust-lang#126384 - RalfJung:is_none_or, r=workingjubilee
02cb1e9e580 Rollup merge of rust-lang#126347 - slanterns:try_simplify, r=scottmcm
fa2a54a54c6 Fix wording in {checked_}next_power_of_two
3ef894f8bc5 add tracking issue for is_none_or
a5fe19dc0bd std::unix::fs::link using direct linkat call for Solaris and macOs.
9921cd25ed1 Rollup merge of rust-lang#126328 - RalfJung:is_none_or, r=workingjubilee
93583a69853 Simplify `try_*` on `Iterator`
47090b15fb8 export std::os::fd module on HermitOS
17c90d81d23 Auto merge of rust-lang#126273 - pietroalbini:pa-bootstrap-update, r=Mark-Simulacrum
b482e06e29c add is_none_or
027c82e6edc Rollup merge of rust-lang#126322 - m-ou-se:panicinfo-and-panicinfo-2, r=RalfJung
db03ec6a89e Rollup merge of rust-lang#126242 - yaahc:simplify-provider, r=jhpratt
956efdef025 Rollup merge of rust-lang#126039 - dpaoliello:arm64ecbuild, r=davidtwco
3acb41fba7c Fix deprecated version.
bc5e618edd3 Update doc comment on PanicInfo::message().
249d63e985c Use payload_as_str instead of two downcasts.
15677e9f865 Fix deprecation version.
a239d5bf0e1 Clarify doc comment.
209f8c80d1f Auto merge of rust-lang#126319 - workingjubilee:rollup-lendnud, r=workingjubilee
6ec98e76fb6 Rollup merge of rust-lang#126305 - workingjubilee:fix-os-string-to-string-utf8-invariant, r=joboet
80467da88db Rollup merge of rust-lang#126287 - nnethercote:reformat-cranelift-patch, r=bjorn3
5760a4e9d4e Rollup merge of rust-lang#126281 - ChrisDenton:env, r=jhpratt
439c2ae36dc Rollup merge of rust-lang#126249 - workingjubilee:simplify-try-map-signature, r=scottmcm
23e3dbf043a Rollup merge of rust-lang#126210 - lolbinarycat:ptr_doctest_assert, r=workingjubilee
d46939470bf Rollup merge of rust-lang#123374 - mgeier:doc-slice-from-raw-parts, r=scottmcm
63fe960c257 Require any function with a tait in its signature to actually constrain a hidden type
e1d73c2d74a Revert "Rollup merge of rust-lang#125362 - joboet:tait_hack, r=Nilstrieb"
382ed528dc8 Make PathBuf less Ok with adding UTF-16 then `into_string`
548e7a4135e Update a cranelift patch file for formatting changes.
8ccbe9e6c8a `UniqueRc`: support allocators and `T: ?Sized`.
b3dcee69396 set_env: State the conclusion upfront
f56c02311ee Rename `std::fs::try_exists` to  `std::fs::exists` and stabilize fs_try_exists
c16d8b1f7a5 Unify guarantees about the default allocator
d8fe5899dc8 remove cfg(bootstrap)
a2ff49b68b4 replace version placeholder
f72e4a99cd5 Formatting.
0503ca79148 Bump deprecation of std's PanicInfo alias to 1.82.0.
fea6b035e61 Add PanicHookInfo::payload_as_str().
0c8a9e06b97 Fix display of panic message in recursive panic.
2f85702e572 Mention core's PanicInfo in error.md.
ad0667f9724 Add note on panic payload type.
518722eccfc Downcast panic payload to String too in example.
c4dea816f7f Move deprecation of std::panic::PanicInfo to 1.80.0.
143e4c4a40e Fix deprecation version.
c6749ae5b90 Rename std::panic::PanicInfo to PanicHookInfo.
db2e05588c5 Formatting.
51f20ac6148 Fix invalid markdown/html.
d4b7304c0de Reorder body of begin_panic for consistency.
373fb60b119 Impl Display for PanicPayload to simplify things.
224d45cf15c Use unnamed lifetimes for [..]Payload impl blocks.
cf984e0e154 Move downcasting panic payload to str to a function.
a18eeac0a12 Mark some PanicInfo methods as #[inline] for consistency.
47f359bc210 Remove std::panic::PanicInfo::internal_constructor+set_payload.
701d6a23254 Remove core::panic::PanicInfo::internal_constructor.
cca865dd137 Update doc comment about core::panicking.
221a90ccb77 Fix doc link.
d6658a5e3dd Add core::panic::PanicInfo::payload() for compatibility.
ca0bfebc0fe Document difference between core and std's PanicInfo.
702405ed414 Split core's PanicInfo and std's PanicInfo.
019e01f23f5 Skip fast path for dec2flt when optimize_for_size
483f641ee13 Simplify `[T; N]::try_map` signature
8b6f468edd8 Simplify provider api to improve llvm ir
c8170e67b53 Rollup merge of rust-lang#126212 - SteveLauC:fix/haiku, r=joboet
58bb5cfddf4 Rollup merge of rust-lang#126191 - ivan-shrimp:nonzero_doc, r=scottmcm
d2f8ddfcc21 Bump windows-bindgen to 0.57
02bf1521553 Clarify `Command::new` behavior if passed programs with arguments
e17d6b968b4 Remove some unused crate dependencies.
5840184c348 Update docs for AtomicU8/I8.
87915497e69 fix: build on haiku
263861f45c9 Update safety docs for AtomicBool::from_ptr.
e25ae61e2b5 docs(core): make more const_ptr doctests assert instead of printing
cf9de23d66b Auto merge of rust-lang#126205 - jieyouxu:rollup-s64z5ng, r=jieyouxu
c5da756bc2a Rollup merge of rust-lang#126194 - ChrisDenton:winerror, r=Mark-Simulacrum
c4bd74c1902 Rollup merge of rust-lang#125253 - sunsided:feature/FRAC_1_SQRT_PI, r=Mark-Simulacrum
c9c5d8f0189 Auto merge of rust-lang#126193 - RalfJung:miri-sync, r=RalfJung
e39299d577e Migrate more things to WinError
0df0a38c38b fix `NonZero` doctest inconsistencies
818933db00d Rollup merge of rust-lang#126168 - devnexen:current_exe_haiku_simpl, r=ChrisDenton
a9bd5698ac7 Rollup merge of rust-lang#126146 - devnexen:signal_fbsd, r=ChrisDenton
05812a0309b Merge from rustc
56bdaf3dfb3 std::unix::os current_exe implementation simplification for haiku.
e6c378f9a8e Auto merge of rust-lang#125966 - schvv31n:impl_os_string_pathbuf_leak, r=workingjubilee
e000ecbd84a std::unix::process adding few specific freebsd signals to be able to id.
67454f58555 Rollup merge of rust-lang#126138 - wbk:patch-1, r=lqd
ca932c80555 Rollup merge of rust-lang#125998 - devnexen:get_mode_illumos, r=Nilstrieb
397e9cbe400 Rollup merge of rust-lang#125951 - slanterns:error_in_core_stabilization, r=Amanieu
4655eca9735 Fix typo in docs for std::pin
bb2e2d9fc7d add HermitOS support of vectored read/write operations
dd7ccb77633 Rollup merge of rust-lang#126089 - wutchzone:option_take_if, r=scottmcm
199da77e638 Rollup merge of rust-lang#126030 - ChrisDenton:update-wingen-readme, r=Mark-Simulacrum
8a4b11aa65d Rollup merge of rust-lang#124012 - slanterns:as_slice_stabilize, r=BurntSushi
05a92c2d02b Auto merge of rust-lang#126110 - workingjubilee:backtrace-0.3.73, r=workingjubilee
cd73cbea88a Update backtrace to 0.3.73
c6e53ce2b1a Merge from rustc
3b603356225 Rollup merge of rust-lang#125606 - diondokter:opt-size-int-fmt, r=cuviper
7014731c32e fix doc comments about `error_generic_member_access`
3f4816887c7 Stabilize `error_in_core`
20f15f4d41a fixed memory leaks in PathBuf::leak & OsString::leak tests
fa66a61d655 Rollup merge of rust-lang#126096 - c410-f3r:tests-tests-tests, r=jhpratt
57369442f0d [RFC-2011] Allow `core_intrinsics` when activated
dfddd7e5a86 Stabilize Option::take_if
051c6c60977 Raise `DEFAULT_MIN_STACK_SIZE` to at least 64KiB
29932f32723 Auto merge of rust-lang#126038 - matthiaskrgr:rollup-h4rm3x2, r=matthiaskrgr
149a2370c6e Promote `arm64ec-pc-windows-msvc` to tier 2
4a81c121a38 Rollup merge of rust-lang#126032 - ChrisDenton:update-docs, r=joboet
7450cf043b4 Rollup merge of rust-lang#125800 - fortanix:raoul/rte-99-fix_mut_static_task_queue, r=jethrogb
ed91d5578b4 Rollup merge of rust-lang#125940 - devnexen:unix_fs_netbsd_get_path, r=cuviper
bf7430fdc68 Update description of the `IsTerminal` example
91c8b231664 Update `./x fmt` command
16321651051 Rollup merge of rust-lang#125995 - kpreid:const-uninit-stable, r=Nilstrieb
2c5f1acc4c1 Rollup merge of rust-lang#125982 - xTachyon:fix-linked-list, r=jhpratt
80cee25cbad Rollup merge of rust-lang#123168 - joshtriplett:size-of-prelude, r=Amanieu
28dc012bfbf std::unix::fs::get_mode implementation for illumos/solaris.
14a6f295bcd Use inline const instead of unsafe to implement `MaybeUninit::uninit_array()`.
a2c3406e626 Use inline const instead of unsafe to construct arrays in `MaybeUninit` examples.
f8ee355f9c4 Rollup merge of rust-lang#125932 - schvv31n:patch-1, r=lqd
49dad463287 Rollup merge of rust-lang#125927 - ferrocene:lw-alloc-unwind-test, r=pietroalbini
e38c13a5962 Rollup merge of rust-lang#125696 - workingjubilee:please-dont-say-you-are-lazy, r=Nilstrieb
1764910ce42 Rollup merge of rust-lang#106186 - rossmacarthur:ft/iter-chain, r=Amanieu
fbb5246b92c Make deleting on LinkedList aware of the allocator
85aa4b6ae53 impl OsString::leak & PathBuf::leak
b19dd145ea9 Add function `core::iter::chain`
25245bba3d9 Rollup merge of rust-lang#125919 - tbu-:pr_fix_typo, r=lqd
a415dddaa0d Rollup merge of rust-lang#125504 - mqudsi:once_nominal, r=cuviper
ea7e91c6357 Let compiler auto impl `Send` for `Task`
55f3d10071c Store `Task::p` as `dyn FnOnce() + Send`
92b604f475f Pass function for `Thread` as `Send` to `Thread::imp`
175ad227af0 Auto merge of rust-lang#125525 - joboet:tls_accessor, r=cuviper
31e0022e8f2 std::unix::fs::get_path: using fcntl codepath for netbsd instead.
82e24ad44cd Fix typo in the docs of `HashMap::raw_entry_mut`
fcc07af4e3a Ignore `vec_deque_alloc_error::test_shrink_to_unwind` test on non-unwind targets
6ef46b31227 Auto merge of rust-lang#125912 - nnethercote:rustfmt-tests-mir-opt, r=oli-obk
79271381c4f Remove stray "this"
06d9b0e9397 Add "OnceList" example to motivate OnceLock
6d001c57db6 Move first OnceLock example to LazyLock
7e47256ddbf Differ LazyLock vs. OnceLock in std::sync overview
a198721997c Explain LazyCell in core::cell overview
ae5598aabc3 Reformat `mir!` macro invocations to use braces.
494f05c1d78 Rollup merge of rust-lang#125898 - RalfJung:typo, r=Nilstrieb
7881d33deef Rollup merge of rust-lang#125884 - Rua:integer_sign_cast, r=Mark-Simulacrum
380d9a3d410 Rollup merge of rust-lang#121062 - RustyYato:f32-midpoint, r=the8472
81b9e26560b Wording of the documentation
1c707b64249 typo: depending from -> on
fe5adb924fb Auto merge of rust-lang#125577 - devnexen:netbsd_stack_min, r=joboet
876458ec8a2 Implement feature `integer_sign_cast`
e929c7fda65 Change f32::midpoint to upcast to f64
cd0400080d5 Auto merge of rust-lang#124294 - tspiteri:ilog-first-iter, r=the8472
7f0b19dd24d stablize `const_binary_heap_constructor` & create an unstable feature `const_binary_heap_new_in` for `BinaryHeap::new_in`
5c2e2744f32 Rollup merge of rust-lang#125730 - mu001999-contrib:clippy-fix, r=oli-obk
9fe18037b50 Auto merge of rust-lang#124662 - zetanumbers:needs_async_drop, r=oli-obk
894310362d5 Avoid `mut` and simplify initialization of `TASK_QUEUE`
ba98164a104 Auto merge of rust-lang#124636 - tbu-:pr_env_unsafe, r=petrochenkov
bbaaa79ab59 Rollup merge of rust-lang#125746 - jmillikin:duration-from-weeks-typo, r=lqd
1329a62eb9e Rollup merge of rust-lang#125739 - RalfJung:drop-in-place-docs, r=workingjubilee
8883bcf630b Rollup merge of rust-lang#125342 - tbu-:pr_doc_write, r=ChrisDenton
14d5dcb4160 explain what the open questions are, and add a Miri test for that
6f01ba7ade6 Apply x clippy --fix and x fmt
c9c0713ee9b Fix copy-paste error in `Duration::from_weeks` panic message.
e935223b1b8 Rollup merge of rust-lang#125733 - compiler-errors:async-fn-assoc-item, r=fmease
4feb8819521 Elaborate about modifying env vars in multi-threaded programs
25007197aef Add note about safety of `std::env::set_var` on Windows
c4b1ff893a1 Make `std::env::{set_var, remove_var}` unsafe in edition 2024
07d3009644f drop_in_place: weaken the claim of equivalence with drop(ptr.read())
99eabb47fb4 Add lang item for AsyncFnKindHelper::Upvars
a8f468f97f8 Add lang item for Future::Output
2e1896e1976 Add lang items for AsyncFn's associated types
d82378a11dd [ACP 362] genericize `ptr::from_raw_parts`
619e33b0691 Add FRAC_1_SQRT_2PI doc alias to FRAC_1_SQRT_TAU
12652447f15 make `ptr::rotate` smaller when using `optimize_for_size`
bb6d4eb5be6 Add safety comment to fix tidy
c8b699c1ab2 Optimize async drop glue for some old types
0444ab852cd Add FRAC_1_SQRT_2PI constant to f16/f32/f64/f128
1aaf0a9adac Rollup merge of rust-lang#125226 - madsmtm:fix-mac-catalyst-tests, r=workingjubilee
565dce2d3fe Rollup merge of rust-lang#124251 - scottmcm:unop-ptr-metadata, r=oli-obk
a4025eba8f9 Add custom mir support for `PtrMetadata`
87b9f244814 Add an intrinsic for `ptr::metadata`
914d2c03f3a Rollup merge of rust-lang#125637 - nnethercote:rustfmt-fixes, r=GuillaumeGomez
3170156cbf5 Make more of the test suite run on Mac Catalyst
9753338652f Disable stack overflow handler tests on iOS-like platforms
35483898acf Don't format `tests/run-make/*/rmake.rs`.
6fcf1300f8b Rollup merge of rust-lang#125647 - tspiteri:track-lazy_cell_consume, r=workingjubilee
385e1b87512 Rollup merge of rust-lang#125551 - clarfonthey:ip-bits, r=jhpratt
457f5eebf4b update tracking issue for lazy_cell_consume
893db811403 Auto merge of rust-lang#125636 - workingjubilee:bump-backtrace-0.3.72, r=workingjubilee
67858588bb6 Sync libstd deps with backtrace
b2148722d86 Bump backtrace to 0.3.72
0ef7706b6c1 Auto merge of rust-lang#125609 - diondokter:opt-size-char-count, r=thomcc
3578f429478 Rollup merge of rust-lang#124870 - Lokathor:update-result-docs, r=dtolnay
d4fb66bf7aa Always use the general case char count
1e8098b6dd4 Size optimize int formatting
a74509c7872 Rollup merge of rust-lang#125559 - scottmcm:simplify-shift-ubcheck, r=workingjubilee
bc346a0aedb Auto merge of rust-lang#122079 - tbu-:pr_copy_file_range_probe, r=the8472
fdcee4d0921 std::pal::unix::thread fetching min stack size on netbsd.
d14171db7a1 Auto merge of rust-lang#125574 - matthiaskrgr:rollup-1oljoup, r=matthiaskrgr
3e545bcb6f3 Rollup merge of rust-lang#125571 - tesuji:dummy-pi, r=Nilstrieb
840944248ea Rollup merge of rust-lang#125561 - Cyborus04:stabilize-slice-flatten, r=scottmcm
8981ee4ff26 Auto merge of rust-lang#125570 - tesuji:stdout-handle, r=Nilstrieb
addaaed02ce f32: use constants instead of reassigning a dummy value as PI
8a6d10d57b7 use proper name instead of magic number
64671fa9e4b Stabilize `slice_flatten`
40140819538 Auto merge of rust-lang#125070 - tbu-:pr_set_extension_panic, r=jhpratt
f54c5577ff7 Auto merge of rust-lang#125518 - saethlin:check-arguments-new-in-const, r=joboet
a4bac2bc347 It seems that anchor names are implicitly all lowercase
7cddfd46930 Simplify the `unchecked_sh[lr]` ub-checks a bit
805f56b8e16 Fix URL target, it's in the module not the type.
3b77f19a9a8 github showed that weird.
65726c04182 correct for copy paste errors when fixing wrapping.
613145f6c4e Resolve rust-lang#124870 (comment)
9677b7057a8 revert to the inconsistent paragraph wrapping.
bf3ca983d95 Rollup merge of rust-lang#124667 - newpavlov:stabilize_div_duration, r=jhpratt
4af28c44c31 Rollup merge of rust-lang#123803 - Sp00ph:shrink_to_fix, r=Mark-Simulacrum
79e1daf6925 Rollup merge of rust-lang#122986 - taiki-e:aix-c-char, r=Mark-Simulacrum
0b13a6c1235 Rollup merge of rust-lang#121377 - pitaj:lazy_cell_fn_pointer, r=dtolnay
b1ac7da4a90 Stabilise ip_bits feature
23bb5bc4f4f Auto merge of rust-lang#121571 - clarfonthey:unchecked-math-preconditions, r=saethlin
c11b36abf02 Rollup merge of rust-lang#125527 - programmerjake:patch-2, r=workingjubilee
d6812d57a9e Rollup merge of rust-lang#125498 - zmodem:avx512er, r=workingjubilee
f52291bef6b Rollup merge of rust-lang#125478 - Urgau:check-cfg-config-bump-stage0, r=Mark-Simulacrum
38dcab941d6 Rollup merge of rust-lang#125271 - RalfJung:posix_memalign, r=workingjubilee
29a1b3b9ffd Move the checks for Arguments constructors to inline const
5257f3f01ac Add manual Sync impl for ReentrantLockGuard
078095a8b94 std: make TLS accessors closures that return pointers
567096dab49 Rollup merge of rust-lang#125497 - meesfrensel:patch-1, r=calebzulawski
dd828cf426c Stop using the avx512er and avx512pf x86 target features
749b3766746 Change pedantically incorrect OnceCell/OnceLock wording
2b1602ae72f Fix some SIMD intrinsics documentation
59b5617f8ce Remove now outdated comment since we bumped stage0
6d1cdb564d6 Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods
ce29159a108 Simplify environment variable examples
8fa3f607e33 Document behavior of `create_dir_all` wrt. empty path
dd196e7c132 Document platform-specifics for `Read` and `Write` of `File`
a71d9d9f8e9 Fix c_char on AIX
ce3db1b638a fix typo
49138842df5 use posix_memalign on most Unix targets
86878b964b1 Fix linkchecker doc errors
1bf7a30d31a Turn bare links into automatic links
736b2250797 Move BufGuard impl outside of function
a44e7b3adea Fix tidy errors
36af6395634 Replace sort implementations
48a835b093a Divide float nanoseconds instead of seconds
f84d57f6cc3 Don't use `T` with both Result and Option, improve explanation.
88338ff820a Add `size_of`, `size_of_val`, `align_of`, and `align_of_val` to the prelude
5d56638742b Panic if `PathBuf::set_extension` would add a path separator
7db52fca9b3 Add fn allocator method to rc/sync::Weak. Relax Rc<T>/Arc<T>::allocator to allow unsized T.
43bf016caa3 Suggest borrowing on fn argument that is `impl AsRef`
50d5af44701 use teletype on the attribute name
43ae1871a8b Some Result combinations work like an Option.
d0c07aa8677 Move `test_shrink_to_unwind` to its own file.
d77b1cc251a Fix `VecDeque::shrink_to` UB when `handle_alloc_error` unwinds.
0342284416b Use `CURRENT_RUSTC_VERSION`
9eb77db22f6 Stabilize `div_duration`
7a6ddb35da6 Lift the probe code of `copy_file_range` into a function
f5305c1c49a Add missing .into_iter()
2a5af324d19 Extend the example code and assert the result
678e5a09970 Add "safety" comment
ad38f9b8000 unroll first iter of checked_ilog loop to save one multiplication
dbd03d4517e Stabilize `BinaryHeap::as_slice`
08f761fb838 DOC: Add FFI example for slice::from_raw_parts()
30c876cbfb4 Be stricter with `copy_file_range` probe results
fe052461e10 Less syscalls for the `copy_file_range` probe
511fe47e8ea Stabilize `LazyCell` and `LazyLock` (`lazy_cell`)

git-subtree-dir: library
git-subtree-split: a2cf63619d70c12ce2cbd088982b6eea18777312
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.