Commit Graph

324176 Commits

Author SHA1 Message Date
Jonathan Brouwer ede69dad7d Rollup merge of #155493 - sorairolake:fix-alignment-doc-link, r=scottmcm
docs(num): fix stale link to `mem::Alignment`

This pull request updates a stale link to `mem::Alignment` in `num::IntErrorKind`.

In rust-lang/rust#153178, I added a link to `Alignment` in `IntErrorKind`, but I overlooked that `Alignment` had been moved from `core::ptr` to `core::mem`. Although it is still re-exported in `core::ptr`, this pull request points the link to its canonical location.

@rustbot label +A-docs
2026-04-20 08:14:13 +02:00
Jonathan Brouwer fda59bfb6f Rollup merge of #155474 - Zalathar:bpass, r=jieyouxu
Rename incremental `cfail`/`cpass` revisions to `bfail`/`bpass`

Long ago, UI tests were divided into *compile* and *run* tests. Later, the compile tests were further subdivided into *check* and *build* tests, to speed up tests that don't need a full build.

The same split was never applied to incremental test revisions, so the only way to perform a check build in incremental tests is (confusingly) to use a `cfail` revision and then specify `//@ check-fail` or `//@ check-pass`.

This PR makes room for dedicated check-fail and check-pass revisions by renaming the existing `cfail` and `cpass` revisions to `bfail` and `bpass`, since they currently perform a full build.

---

The test updates were done with a regex whole-word find-and-replace for `c(fail|pass)(\d*)`, and I also took the opportunity to manually add a space after `revisions:` on affected lines.

r? jieyouxu
2026-04-20 08:14:12 +02:00
Jonathan Brouwer 1204fb1445 Rollup merge of #155238 - Ozzy1423:diff-by-lines, r=jieyouxu
compiletest: add a new diff for compare-out-by-lines tests.

Previously, when comparing output by lines, only the actual diff was shown. This is unhelpful since we expect lines to be shuffled around.

With this new print, we can see the exact lines that are missing or have appeared without the noise of the moved around lines.

Example, in this case a note has moved slightly so there is one more separator line "|":

```
+	   |
+	   = help: maybe it is overwritten before being read?

Compare output by lines enabled, diff by lines:
Expected contains these lines that are not in actual:
(no lines found)
Actual contains these lines that are not in expected:
   |

The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args liveness/liveness-consts.rs`
```

r? @jieyouxu
cc @zetanumbers @ywxt
2026-04-20 08:14:12 +02:00
Jonathan Brouwer 26f47ae831 Rollup merge of #154664 - okaneco:integer_cast_extras, r=scottmcm
core/num: Implement feature `integer_cast_extras`

Tracking issue https://github.com/rust-lang/rust/issues/154650
Accepted ACP https://github.com/rust-lang/libs-team/issues/765#issuecomment-4164285847

Implement `saturating`, `checked`, and `strict` casting between signed and unsigned integer primitives of the same bit-width.

Add `cast_integer` panic function to `overflow_panic.rs`
2026-04-20 08:14:11 +02:00
Jonathan Brouwer 8beed17a3d Rollup merge of #155507 - Kivooeo:no-expect, r=mejrs
suggest expect instead of unwrap when arg provided

r? mejrs (feel free to reroll)

fixes https://github.com/rust-lang/rust/issues/155502
2026-04-20 08:14:10 +02:00
Jonathan Brouwer cccf996225 Rollup merge of #155264 - sayantn:amx-autocast, r=dianqk
Add autocast support for `x86amx`

Builds on rust-lang/rust#140763 by further adding autocasts for `x86amx` from/to vectors of size 8192 bits.

This also disables SIMD vector abi checks for the `"unadjusted"` abi because
 - This is primarily used to link with LLVM intrinsics, which don't actually lower to function calls with vector arguments. Even with other cg backends, this is true.
 - This ABI is internal and perma-unstable (and also super specific), so it is very unlikely that this will cause breakages.
 - (The primary reason) Without doing this we can't actually use 8192 bit long vectors to represent `x86amx`

> Why do we need a bypass for `x86amx`? Can't we use a `#[lang_item]` or something?

If `x86amx` was a normal LLVM type, this approach would've worked and I would also prefer it. But LLVM specifies that

> No instruction is allowed for this type. There are no arguments, arrays, pointers, vectors or constants of this type.

So we can't treat it like a normal type at all -- even if we add it like a lang-item, we would still have to special-case everywhere to check if we are passing to the correct LLVM intrinsic, and only then use the `x86amx` type. IMO this is needlessly complex, and way worse than this solution, which just adds it to the autocast list in cg_llvm

r? codegen
2026-04-20 08:14:10 +02:00
Jonathan Brouwer ce91732a75 Rollup merge of #155054 - Lars-Schumann:const-vec-ops, r=dtolnay
constify `Index(Mut)`, `Deref(Mut)` for `Vec`

Relevant tracking issues
const_convert: https://github.com/rust-lang/rust/issues/143773
const_index: https://github.com/rust-lang/rust/issues/143775
2026-04-20 08:14:09 +02:00
Oscar Bray 459be3e7b1 compiletest: add a new diff for compare-out-by-lines tests.
Previously, when comparing output by lines, only the actual
diff was shown. This is unhelpful since we expect lines to be
shuffled around.

With this new print, we can see the exact lines that are missing
or have appeared without the noise of the moved around lines.
2026-04-20 06:31:21 +01:00
bors e22c616e4e Auto merge of #155083 - adwinwhite:introduce-unnormalized, r=lcnr
Introduce `Unnormalized` wrapper




This is the first step of the [eager normalization](https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/Eager.20normalization.2C.20ahoy.21/with/582996293) series.

This PR introduce an `Unnormalized` wrapper and make most normalization routines consume it. The purpose is to make normalization explicit. 
This PR contains no behavior change.

API changes are in the first two commit. 
There're some normalization routines left untouched:
- `normalize` in the type checker of borrowck: better do it together with `field.ty()` returning `Unnormalized`.
- `normalize_with_depth`: only used inside the old solver. Can be done later.
- `query_normalize`: rarely used.
- misc local normalization helpers.

The compiler errors are mostly fixed via `ast-grep`, with exceptions handled manually.
2026-04-19 19:18:17 +00:00
Adwin White 6279106e72 fix all errors 2026-04-20 00:18:28 +08:00
Adwin White 3e1e35b5d1 make common normalization routines take Unnormalized 2026-04-20 00:08:14 +08:00
Adwin White 5c12b9283e introduce Unnormalized wrapper and make instantiation use it 2026-04-20 00:08:14 +08:00
bors 38799a320d Auto merge of #155519 - JonathanBrouwer:rollup-P17uwTS, r=JonathanBrouwer
Rollup of 12 pull requests

Successful merges:

 - rust-lang/rust#155370 (Add regression test for dead code elimination with drop + panic)
 - rust-lang/rust#154823 (Replace the spdx-rs dependency with a minimal in-tree SPDX tag-value parser)
 - rust-lang/rust#155294 (Add test for coalescing of diagnostic attribute duplicates)
 - rust-lang/rust#155352 (triagebot.toml: Sync `assign.owners` with `autolabel."T-compiler"`)
 - rust-lang/rust#155431 (Add temporary scope to assert_matches)
 - rust-lang/rust#153873 (deprecate `std::char` constants and functions)
 - rust-lang/rust#154865 (libtest: use binary search for --exact test filtering)
 - rust-lang/rust#154979 (add #[must_use] macros for floats)
 - rust-lang/rust#155486 (c-variadic: add roundtrip test)
 - rust-lang/rust#155504 (Remove `AttributeLintKind` variants - part 2)
 - rust-lang/rust#155510 (Update Tidy python executable path)
 - rust-lang/rust#155514 (codegen-options docs: remove -Csoft-float)
2026-04-19 16:04:18 +00:00
Jonathan Brouwer cd8752bc30 Rollup merge of #155514 - RalfJung:softfloat-docs, r=JonathanBrouwer
codegen-options docs: remove -Csoft-float

This got removed in rust-lang/rust#154106 but I didn't realize there are still docs mentioning it.
2026-04-19 16:04:35 +02:00
Jonathan Brouwer 772e85662e Rollup merge of #155510 - Walnut356:python_path, r=jieyouxu
Update Tidy python executable path

Resolves https://github.com/rust-lang/rust/issues/155480

r? @Kobzol
2026-04-19 16:04:35 +02:00
Jonathan Brouwer 5503f576bf Rollup merge of #155504 - GuillaumeGomez:rm-attributelintkind, r=JonathanBrouwer
Remove `AttributeLintKind` variants - part 2

Follow-up of https://github.com/rust-lang/rust/pull/154432.
Part of https://github.com/rust-lang/rust/issues/153099.

r? @JonathanBrouwer
2026-04-19 16:04:34 +02:00
Jonathan Brouwer 0f6fe2ea22 Rollup merge of #155486 - folkertdev:c-variadic-roundtrip, r=RalfJung
c-variadic: add roundtrip test

tracking issue: https://github.com/rust-lang/rust/issues/44930

Test that our `va_arg` implementation matches (as in, can decode) how LLVM passes c-variadic arguments.

And some comment followup to https://github.com/rust-lang/rust/pull/152980 (cc @RalfJung, feel free to review this PR too btw).

r? tgross35
2026-04-19 16:04:34 +02:00
Jonathan Brouwer e7c135e282 Rollup merge of #154979 - ArtemIsmagilov:must-use-floats, r=jhpratt
add #[must_use] macros for floats

try resolve rust-lang/rust#154854
2026-04-19 16:04:33 +02:00
Jonathan Brouwer 7b658037fd Rollup merge of #154865 - sunshowers:binary-search-test, r=Mark-Simulacrum
libtest: use binary search for --exact test filtering

When `--exact` is passed in, use binary search for O(f log n) lookups instead of an O(n) linear scan, under the assumption that f << n (which is true for the most relevant cases).

This is important for Miri, where the interpreted execution makes the linear scan very expensive.

I measured this against a repo with 1000 empty tests, running `cargo +stage1 miri nextest run test_00` (100 tests) under hyperfine:

* Before (linear scan): 49.7s ± 0.6s
* After (binary search): 41.9s ± 0.2s  (-15.7%)

I also tried a few other variations (particularly swapping matching tests to the front of the list + truncating the list), but the index + swap_remove approach proved to be the fastest.

Questions:

- [ ] To be conservative, I've assumed that test_main can potentially receive an unsorted list of tests. Is this assumption correct?
2026-04-19 16:04:32 +02:00
Jonathan Brouwer b07688dc2e Rollup merge of #153873 - folkertdev:deprecate-char-max, r=Mark-Simulacrum
deprecate `std::char` constants and functions

similar to how constants in those modules for numeric types have been deprecated. The `std::char` module contains:

Three stable constants that this PR deprecates. These already link to their associated constant equivalents.

- `MAX`
- `REPLACEMENT_CHARACTER`
- `UNICODE_VERSION`

two unstable constants that this PR removes. The constants are already stablized as associated constants on `char`.

- `MAX_LEN_UTF8`
- `MAX_LEN_UTF16`

Four stable functions that this PR deprecates. These already link to their method equivalents.

- `fn decode_utf16`
- `fn from_digit`
- `fn from_u32`
- `fn from_u32_unchecked⚠`

discussion at [#t-libs > should &#96;std::char::{MIN, MAX}&#96; be deprecated?](https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/should.20.60std.3A.3Achar.3A.3A.7BMIN.2C.20MAX.7D.60.20be.20deprecated.3F/with/579444750).

r? libs-api
2026-04-19 16:04:32 +02:00
Jonathan Brouwer ffcda118ca Rollup merge of #155431 - Voultapher:add-tmp-scope-to-assert-matches, r=Amanieu
Add temporary scope to assert_matches

Addresses https://github.com/rust-lang/rust/issues/154406 in part. `assert_eq` will be done in a separate PR.
2026-04-19 16:04:31 +02:00
Jonathan Brouwer f86378ca17 Rollup merge of #155352 - Enselic:label-sync, r=Mark-Simulacrum
triagebot.toml: Sync `assign.owners` with `autolabel."T-compiler"`

In `autolabel."T-compiler"`, several `./tests/*` dirs are listed.

But many of them are missing from `assign.owners`. Add them all to `assign.owners` so reviewers are picked from the compiler group, and not from the small `assign.adhoc_groups.fallback` group.

Discovered in https://github.com/rust-lang/rust/pull/153941#issuecomment-4065145752.

CC fallback group @Mark-Simulacrum @jieyouxu who can maybe confirm that the old setup was not intentional? (Edit: I hope it was not intentional, because in that case I should have reached out to you personally beforehand.)
2026-04-19 16:04:30 +02:00
Jonathan Brouwer fa8db59673 Rollup merge of #155294 - mejrs:coalescing, r=chenyukang
Add test for coalescing of diagnostic attribute duplicates

There is an existing [test](github.com/rust-lang/rust/blob/main/tests/ui/diagnostic_namespace/on_unimplemented/report_warning_on_duplicated_options.rs) that warnings for duplicates are emitted, but not for the messages themselves.
2026-04-19 16:04:30 +02:00
Jonathan Brouwer 0883b8cc79 Rollup merge of #154823 - jakubadamw:spdx-rs-replacement, r=Mark-Simulacrum
Replace the spdx-rs dependency with a minimal in-tree SPDX tag-value parser

The spdx-rs crate [is no longer maintained](https://github.com/doubleopen-project/spdx-rs/pulls) and is behind on its own dependency updates. It is currently used in [the collect-license-metadata tool](https://github.com/rust-lang/rust/tree/main/src/tools/collect-license-metadata), employing a single function therefrom: `spdx_rs::parsers::spdx_from_tag_value`, which parses the output of the `reuse` tool to extract file names, licences and copyright text.

This PR replaces the use of said function with a small minimal parser that handles just the subset of the SPDX tag-value format that is needed: `Tag: Value` line pairs and multi-line `<text>...</text>` blocks.

Coincidentally, this gets rid of the last transitive dependency on syn v1.
2026-04-19 16:04:29 +02:00
Jonathan Brouwer 8beec0111d Rollup merge of #155370 - iyernaveenr:naveen_r_iyer/issue-114532-needs-test, r=Mark-Simulacrum
Add regression test for dead code elimination with drop + panic

Add a codegen test for rust-lang/rust#114532.

The bug was that dead code elimination failed when a `Drop` impl contained a `panic!` and a potentially-panicking external function was called after the value was created. This was fixed since 1.82 but no regression test was added.

The test verifies that `foo()` compiles to just a call to `unknown()` + `ret void`, with no panic or panicking call in the function body.

Closes rust-lang/rust#114532
2026-04-19 16:04:29 +02:00
bors 22cc6747b1 Auto merge of #155444 - bjorn3:update_deps, r=jieyouxu
Update a bunch of dependencies to reduce windows-sys duplication

This gets rid of windows-sys 0.60 and with the exception of curl and stacker it gets rid of windows-sys 0.59. For stacker getting rid of windows-sys 0.59 is blocked on https://github.com/rust-lang/stacker/pull/145 and https://github.com/rust-lang/rust/pull/155438.
2026-04-19 12:46:26 +00:00
Ralf Jung 02a8982069 codegen-options docs: remove -Csoft-float 2026-04-19 13:32:40 +02:00
Folkert de Vries fa740c7255 refactor llvm va_arg intrinsic validation logic 2026-04-19 12:54:43 +02:00
Folkert de Vries a852582b35 test that c-variadic arguments roundtrip 2026-04-19 12:51:03 +02:00
Walnut e13412f2c0 update python executable path 2026-04-19 02:31:47 -05:00
Kivooeo e4c852dece add suggestion for expect 2026-04-19 15:04:06 +11:00
bors ec2d669db8 Auto merge of #155470 - weihanglo:update-cargo, r=weihanglo
Update cargo submodule

28 commits in eb94155a9a60943bd7b1cb04abec42f5d0de6ddc..7ecf0285ebb408d596e4a8ac76a0980d8edb7005
2026-04-09 13:10:20 +0000 to 2026-04-18 15:34:11 +0000
- fix: use `portable-atomic` for 64-bit atomics (rust-lang/cargo#16906)
- fix: rename incorrectly documented target-spec-json to json-target-sp… (rust-lang/cargo#16905)
- Add global HTTP timeout tracking to http_async (rust-lang/cargo#16903)
- feat(config): Stabilize `resolver.lockfile-path` config (rust-lang/cargo#16694)
- chore(deps): update msrv (1 version) to v1.95 (rust-lang/cargo#16897)
- fix: rebuild rustdoc json for different versions of a same crate (rust-lang/cargo#16773)
- Add effective_url to http_async (rust-lang/cargo#16899)
- Make crate downloads process as a queue rather than a stack (rust-lang/cargo#16898)
- fix: sparse registry fetch progress reporting (rust-lang/cargo#16900)
- chore: bump to 0.98.0; update changelog (rust-lang/cargo#16892)
- docs(semver-check): update diagnostics to Rust 1.95 (rust-lang/cargo#16895)
- docs(ref): Better highlight 'package --list' for include/exclude (rust-lang/cargo#16891)
- docs: `include` doesnt apply gitignore from repo (rust-lang/cargo#16890)
- fix: Update `bash` and `zsh` Autocompletion Documents to add `-m` (rust-lang/cargo#16888)
- Add `-m` shorthand for `--manifest-path` (rust-lang/cargo#16858)
- Fix a typo (rust-lang/cargo#16885)
- Always take a shared lock on `.cargo-lock` (rust-lang/cargo#16886)
- fix(toml): Teach users how to pin edition (rust-lang/cargo#16851)
- fix: Prefer defined lint levels over default (rust-lang/cargo#16879)
- chore(deps): bump rand from 0.10.0 to 0.10.1 (rust-lang/cargo#16883)
- fix(lints): Ignore unused_crate_dependencies status (rust-lang/cargo#16877)
- Copy cargo clean target-dir validation tests to clean_new_layout.rs (rust-lang/cargo#16878)
- cargo clean: Add target directory validation (rust-lang/cargo#16712)
- Docs: "api" in the configuration should not include a trailing slash (rust-lang/cargo#16869)
- fix(core): use `closest_msg` to suggest similar member name for mistyped `-p` (rust-lang/cargo#16844)
- chore(ci): Pin GitHub Actions to commit SHAs (rust-lang/cargo#16868)
- chore(ci): Update `actions/checkout` from v5 to v6 (rust-lang/cargo#16867)
- Add test for cargo install with github fastpath (rust-lang/cargo#16866)
2026-04-19 03:53:57 +00:00
Guillaume Gomez f658d2613c Remove AttributeLintKind::DocAutoCfgExpectsHideOrShow variant 2026-04-19 02:31:23 +02:00
Guillaume Gomez 0c93197a28 Remove AttributeLintKind::DuplicateDocAlias variant 2026-04-19 02:19:30 +02:00
Guillaume Gomez ef3b800411 Remove AttributeLintKind::InvalidStyle variant 2026-04-19 02:11:28 +02:00
Guillaume Gomez 52653ef1c6 Remove AttributeLintKind::InvalidTarget variant 2026-04-19 01:53:25 +02:00
bors 6f109d8a2d Auto merge of #155223 - teor2345:fndef-refactor, r=mati865
Refactor FnDecl and FnSig non-type fields into a new wrapper type





#### Why this Refactor?

This PR is part of an initial cleanup for the [arg splat experiment](https://github.com/rust-lang/rust/issues/153629), but it's a useful refactor by itself.

It refactors the non-type fields of `FnDecl`, `FnSig`, and `FnHeader` into a new packed wrapper types, based on this comment in the `splat` experiment PR:
https://github.com/rust-lang/rust/pull/153697#discussion_r3004637413

It also refactors some common `FnSig` creation settings into their own methods. I did this instead of creating a struct with defaults.

#### Relationship to `splat` Experiment

I don't think we can use functional struct updates (`..default()`) to create `FnDecl` and `FnSig`, because we need the bit-packing for the `splat` experiment.

Bit-packing will avoid breaking "type is small" assertions for commonly used types when `splat` is added.
This PR packs these types:
- ExternAbi: enum + `unwind` variants (38) -> 6 bits
- ImplicitSelfKind: enum variants (5) -> 3 bits
- lifetime_elision_allowed, safety, c_variadic: bool -> 1 bit

#### Minor Changes

Fixes some typos, and applies rustfmt to clippy files that got skipped somehow.
2026-04-18 23:46:37 +00:00
Guillaume Gomez b4d02996f9 Remove AttributeLintKind::EmptyAttribute variant 2026-04-19 00:48:32 +02:00
Guillaume Gomez 5f0ccfba88 Remove AttributeLintKind::IllFormedAttributeInput variant 2026-04-19 00:36:20 +02:00
bors 0febdbab27 Auto merge of #155494 - JonathanBrouwer:rollup-UvJjCP5, r=JonathanBrouwer
Rollup of 10 pull requests

Successful merges:

 - rust-lang/rust#150230 (spec next chunk for trustedlen)
 - rust-lang/rust#155284 (net::tcp/udp: fix docs about how set_nonblocking is implemented)
 - rust-lang/rust#146870 (fix: add aliasing rules for Box)
 - rust-lang/rust#154003 (Make std::fs::File Send on UEFI)
 - rust-lang/rust#155187 (std: fix HashMap RNG docs wording)
 - rust-lang/rust#155255 (Document why `layout.align() + layout.size()` doesn't overflow)
 - rust-lang/rust#155351 (Reorganize tests from `tests/ui/issues/`)
 - rust-lang/rust#155406 (std: Update dependency on `wasi` crate)
 - rust-lang/rust#155447 (Simplify `parse_limited`)
 - rust-lang/rust#155481 (Delete `SizeSkeleton::Generic`)
2026-04-18 19:16:28 +00:00
Jonathan Brouwer 403974738d Rollup merge of #155481 - theemathas:delete-size-skeleton-generic, r=scottmcm
Delete `SizeSkeleton::Generic`

This variant was never constructed anywhere.

r? @scottmcm
2026-04-18 19:23:18 +02:00
Jonathan Brouwer c1657771be Rollup merge of #155447 - JonathanBrouwer:simplify-parse-limited, r=mejrs
Simplify `parse_limited`

Removes unnecessary arguments from `parse_limited` and cleans up feature gating of `on_unknown_attr`
2026-04-18 19:23:17 +02:00
Jonathan Brouwer 22aef0f0ae Rollup merge of #155406 - alexcrichton:update-wasi-deps, r=Mark-Simulacrum
std: Update dependency on `wasi` crate

This commit updates the crate dependency that the standard library has on the `wasi` crate. This is now updated to depending explicitly on the `wasip1` crate and the `wasip2` crate published on crates.io. These crates are managed in the [same location][repo] as the `wasi` crate and represent a different versioning scheme which doesn't require multi-version WASI support to require depending on the same crate at multiple versions. The code in libstd is updated to reference `wasip1` and `wasip2` directly as well.

[repo]: https://github.com/bytecodealliance/wasi-rs
2026-04-18 19:23:16 +02:00
Jonathan Brouwer 5c896555de Rollup merge of #155351 - ujjwalvishwakarma2006:reorg-tests-01, r=Kivooeo
Reorganize tests from `tests/ui/issues/`

The following tests are reorganized in this pull request

| old-name | new-sub-dir | new-name |
|-|-|-|
| `auxiliary/issue-2316-a.rs` | `resolve/auxiliary` | `resolve-conflict-local-vs-glob-import-a.rs` |
| `auxiliary/issue-2316-b.rs` | `resolve/auxiliary` | `resolve-conflict-local-vs-glob-import-b.rs` |
| `issue-2316-c.rs` | `resolve/` | `resolve-conflict-local-vs-glob-import.rs` |
| `issue-28839.rs` | `reborrow/` | `reborrow-mutable-reference.rs` |
| `issue-32008.rs` | `overloaded/` | `subtyping-both-lhs-and-rhs-in-add-impl.rs` |
| `issue-45425.rs` | `higher-ranked/` | `binop-lhs-hrtb-subtyping.rs` |

r? Kivooeo
2026-04-18 19:23:16 +02:00
Jonathan Brouwer f0df37fac1 Rollup merge of #155255 - Zoxc:ub-issue-16, r=Mark-Simulacrum
Document why `layout.align() + layout.size()` doesn't overflow

This addition looks suspicious and is safety critical, but is saved by the weird `Layout` invariants.
2026-04-18 19:23:15 +02:00
Jonathan Brouwer 74fd4a720f Rollup merge of #155187 - ArshLabs:fix/hashmap-rng-doc-wording, r=Mark-Simulacrum
std: fix HashMap RNG docs wording

Fixes a wording typo in the top-level HashMap docs.

Changed "random number coroutine" to "random number generator" in the seed entropy paragraph.

This section is security-relevant, and "generator" is the correct term in RNG context.

Testing:
- Not run locally (docs-only text change).
2026-04-18 19:23:14 +02:00
Jonathan Brouwer f7668674cc Rollup merge of #154003 - ginnyTheCat:uefi-file-send, r=Mark-Simulacrum
Make std::fs::File Send on UEFI

Similarly to rust-lang/rust#150990 since UEFI has no threads, this should be safe.
2026-04-18 19:23:14 +02:00
Jonathan Brouwer 92a2343356 Rollup merge of #146870 - DiuDiu777:box-doc-fix, r=Mark-Simulacrum
fix: add aliasing rules for Box

This is a new revised version for the PR [139857](https://github.com/rust-lang/rust/pull/139857), sorry for the delayed reply. I've rewritten the sentence to closely mirror the wording from `Vec::from_raw_parts`, which clearly states the transfer of ownership and its consequences. This should make the aliasing requirements much clearer.

I opted not to include a note about `mem::forget` by default to keep the documentation focused on the primary contract, similar to `Vec`.
2026-04-18 19:23:13 +02:00
Jonathan Brouwer e28fb66f82 Rollup merge of #155284 - RalfJung:net-nonblocking, r=Mark-Simulacrum
net::tcp/udp: fix docs about how set_nonblocking is implemented

`fcntl` `FIONBIO` doesn't even make sense, it should be `fcntl` `F_SETFL`. However, for some reason we are using `ioctl` by default -- except on Solaris where this doesn't seem to work very well.

Honestly what I would have expected is that we just always use `FileDesc::set_nonblocking` also for network sockets, but for some reason we don't and there are no comments explaining this choice. Cc @nikarh (for "vita") @joboet
2026-04-18 19:23:12 +02:00
Jonathan Brouwer 77cbf96954 Rollup merge of #150230 - bend-n:trusted_len_spec_for_iter_next_chunk, r=Mark-Simulacrum
spec next chunk for trustedlen

relevant to rust-lang/rust#98326
2026-04-18 19:23:12 +02:00