Automated pull from upstream HEAD#2375
Merged
bors-ferrocene[bot] merged 876 commits intoMay 22, 2026
Merged
Conversation
Resolves a FIXME at hir-ty/src/infer/pat.rs that allowed
record patterns like `let S { foo, foo } = ...;` to type-check
with no error. Pushes the InferenceDiagnostic::DuplicateField
variant (added in rust-lang/rust-analyzer#22235) at the pattern
site; the cooked diagnostic already supports ExprOrPatId, so no
plumbing changes are needed.
Tests: struct pattern positive, enum variant pattern positive.
Part of rust-lang/rust-analyzer#22140.
Signed-off-by: Onyeka Obi <softwareengineerasaservant@isurvivable.cv>
Consider `Result<T, Uninhabited>` and `ControlFlow<Uninhabited, T>` to be equivalent to `T` for must use lint This is an extension to rust-lang/rust#147382. With this PR `Result<T, Uninhabited>` and `ControlFlow<Uninhabited, T>` considered as must use iif `T` must be used. For such cases the lint will mention that `T` is wrapped in a `Result`/`ControlFlow` with an uninhabited error/break. The reasoning here is that `Result<T, Uninhabited>` is equivalent to `T` in which values can be represented and thus the must-used-ness should also be equivalent. Fixes rust-lang/rust#65861
ide-diagnostics: emit error for duplicate field in record pattern
…-Simulacrum Add Command::get_resolved_envs This addition allows an end-user to inspect the environment variables that are visible to the process when it boots. Discussed in: - Tracking issue: rust-lang/rust#149070 (partially closes) - ACP: rust-lang/libs-team#194
…imulacrum Add `str::word_to_titlecase()` to `alloc` A small addition to rust-lang/rust#153892. Hasn't gone through ACP, so needs libs-API signoff. @rustbot label A-Unicode T-libs-api
Add mention of sendfile(2) and splice(2) to fs::copy() documentation. Fixes rust-lang/rust#155968 by adding mention of sendfile(2) and splice(2) from io::copy()
…ulacrum Update a bunch of bootstrap dependencies to remove windows-target Follow up to rust-lang/rust#155444
…illot Change `SwitchInt` handling in dataflow analysis. We call `get_switch_int_data` once for the switch and then pass that data to `apply_switch_int_edge_effect` for each switch target. The only case in practice is `MaybePlacesSwitchIntData` which does an awkward thing, maintaining an index into the discriminants and updating it on each call to `apply_switch_int_edge_effect`. This commit changes things to do more work up front in `get_switch_int_data`, in order to then do less work in `apply_switch_int_edge_effect`. This avoids the need for the `variants` and `next_discr` methods and the discriminants index. Overall it's a little simpler. r? @cjgillot
Add regression test for issue 144329 Closes rust-lang/rust#144329.
…lmann error on empty `export_name` fixes rust-lang/rust#155495 Using an empty string as the name makes LLVM make up a name. However this name can be inconsistent between compilation units, which is UB and can cause linking errors, and some parts of LLVM just crash on the empty name (see the linked issue). As far as we know there is only one valid pattern that could use this, a `#[used]` static that is not referenced by the program at all. That is not UB, but the `export_name` is not required for that to work, just normal rust name mangling would do fine. Technically this is a breaking change, but it seems unlikely that this actually breaks code in the wild that wasn't already broken. I'll leave it up to T-lang to determine what is required here (crater run, FCW, ...), but my gut feeling is that we could just merge this and nobody would notice.
validate `#[link_name = "..."]` & `#[link(name = "...")]` parameters fixes rust-lang/rust#155776 fixes rust-lang/rust#155484 specifically, do not allow NULL bytes and the empty string in `#[link_name = "..."]` and `#[link(name = "...")]`. Like some of the others I think this formally needs to be looked at by T-lang because these errors would not show up if not linking. The LLVM erorr on `#[linke_name = "\0"]` is emitted here, it is not e.g. target-specific. https://github.com/llvm/llvm-project/blob/d593279c0b2891f0b0c8af3f70a1a0383b4ad1b5/llvm/lib/IR/Value.cpp#L336-L342 On `#[link(name = "")]` we already error today. A NULL byte in `#[link(name = "\0")]` is caught by the linker (https://godbolt.org/z/vnz9sYbPs), using `#[link_name = ""]` makes LLVM generate a name (https://godbolt.org/z/1hWEo4cxf) which is not useful and likely to cause linker errors. r? jdonszelmann
remove turbofish notation + use None / Some instead of Option:: (in match documentation)
…mulacrum mark some panicking methods around Duration as track_caller Currently when they panic it looks like this ``` 0.005045 ---- instant_checked_duration_since_nopanic stdout ---- 0.000039 0.000009 thread 'instant_checked_duration_since_nopanic' (2) panicked at /home/runner/work/miri-test-libstd/miri-test-libstd/rust-src-patched/library/std/src/time.rs:445:33: 0.000007 overflow when subtracting duration from instant 0.000006 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace 0.000007 note: in Miri, you may have to set `MIRIFLAGS=-Zmiri-env-forward=RUST_BACKTRACE` for the environment variable to have an effect ``` That's pretty useless. Also fix the panic message while we are at it.
…r=JonathanBrouwer `rustc_attr_parsing`: add `AcceptContext::expect_string_literal`
…acro Migrate derive macro to syntax editor
…closure-to-fn migrate convert closure to fn to SyntaxEditor
Update generated lints
Rollup of 11 pull requests Successful merges: - rust-lang/rust#149362 (Add Command::get_resolved_envs) - rust-lang/rust#155705 (Add `str::word_to_titlecase()` to `alloc`) - rust-lang/rust#155970 (Add mention of sendfile(2) and splice(2) to fs::copy() documentation.) - rust-lang/rust#156006 (Update a bunch of bootstrap dependencies to remove windows-target) - rust-lang/rust#156169 (Change `SwitchInt` handling in dataflow analysis.) - rust-lang/rust#155188 (Add regression test for issue 144329) - rust-lang/rust#155515 (error on empty `export_name`) - rust-lang/rust#155817 (validate `#[link_name = "..."]` & `#[link(name = "...")]` parameters) - rust-lang/rust#156107 (remove turbofish notation + use None / Some instead of Option:: (in match documentation)) - rust-lang/rust#156133 (mark some panicking methods around Duration as track_caller) - rust-lang/rust#156363 (`rustc_attr_parsing`: add `AcceptContext::expect_string_literal`)
Replace a hardcoded constant with `mem::variant_count` to keep in-sync with the `ResolutionFailure` enum.
b0160e9 to
fdf8373
Compare
bors-ferrocene Bot
added a commit
that referenced
this pull request
May 15, 2026
2375: Automated pull from upstream `HEAD` r=jyn514 a=ferrocene-automations[bot] :warning: **The automation reported these warnings:** :warning: * There are merge conflicts in this PR. Merge conflict markers have been committed. * Couldn't regenerate the symbol report. Please run './x test certified-core-symbols --bless' after fixing the conflicts. This PR pulls the following changes from the upstream repository: * `156559`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/156559) * `156540`: [use `deref_patterns` in `rustdoc` instead of `box_patterns`](https://www.github.com/rust-lang/rust/issues/156540) * `156539`: [Add `ChildExt::kill_process_group`](https://www.github.com/rust-lang/rust/issues/156539) * `156413`: [rustdoc: Correctness & perf improvements to link-to-definition](https://www.github.com/rust-lang/rust/issues/156413) * `156260`: [test: suppress deprecation warning](https://www.github.com/rust-lang/rust/issues/156260) * `156500`: [Privacy: move macros handling to early stage](https://www.github.com/rust-lang/rust/issues/156500) * `156344`: [Do not index past end of buffer when checking heuristic in error index syntax highlighter](https://www.github.com/rust-lang/rust/issues/156344) * `156552`: [Clippy subtree update](https://www.github.com/rust-lang/rust/issues/156552) * `138995`: [Split the node_id_to_def_id table into a per-owner table](https://www.github.com/rust-lang/rust/issues/138995) * `156546`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156546) * `156543`: [Update rustbook dependencies to remove windows-targets dependency](https://www.github.com/rust-lang/rust/issues/156543) * `156536`: [`reveal_actual_level` improvements](https://www.github.com/rust-lang/rust/issues/156536) * `156425`: [Fix unused assignments in diverging branches](https://www.github.com/rust-lang/rust/issues/156425) * `155815`: [Add Swift function call ABI](https://www.github.com/rust-lang/rust/issues/155815) * `156535`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156535) * `156325`: [Don't treat const param default as projection](https://www.github.com/rust-lang/rust/issues/156325) * `156524`: [Remove the dummy `PreCodegen` mir-opt pass, and use `runtime-optimized` instead](https://www.github.com/rust-lang/rust/issues/156524) * `156513`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156513) * `156504`: [bootstrap: remap windows-style OUT_DIR paths](https://www.github.com/rust-lang/rust/issues/156504) * `156472`: [Add support for Zprint-codegen-stats-json](https://www.github.com/rust-lang/rust/issues/156472) * `156224`: [Unnormalized migration: assert_fully_normalized, struct_tail, and `field.ty`](https://www.github.com/rust-lang/rust/issues/156224) * `156506`: [Rollup of 6 pull requests](https://www.github.com/rust-lang/rust/issues/156506) * `156502`: [Give an example of a Ctor in the doc-comments](https://www.github.com/rust-lang/rust/issues/156502) * `156284`: [resolve: Fix a false positive "cannot reexport" error for ambiguous glob sets](https://www.github.com/rust-lang/rust/issues/156284) * `156145`: [Move tests cast](https://www.github.com/rust-lang/rust/issues/156145) * `156431`: [Move `std::io::util` to `core::io`](https://www.github.com/rust-lang/rust/issues/156431) * `156428`: [Move `std::io::Cursor` to `core::io`](https://www.github.com/rust-lang/rust/issues/156428) * `156287`: [move more compiler crates away from `box_patterns` ](https://www.github.com/rust-lang/rust/issues/156287) * `156483`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156483) * `156479`: [fix missing space in Rc::decrement_strong_count docs](https://www.github.com/rust-lang/rust/issues/156479) * `154918`: [Fix elided lifetime resolution & trait object lifetime defaulting for enum variant paths](https://www.github.com/rust-lang/rust/issues/154918) * `156393`: [enable more f16/f128 tests in Miri](https://www.github.com/rust-lang/rust/issues/156393) * `154754`: [Add Enzyme to build-manifest and rustup](https://www.github.com/rust-lang/rust/issues/154754) * `155887`: [-Zassumptions-on-binders](https://www.github.com/rust-lang/rust/issues/155887) * `156473`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/156473) * `156466`: [Refactor `CheckAttrVisitor` so rustfmt can format it.](https://www.github.com/rust-lang/rust/issues/156466) * `156462`: [LLVM 23: Accept float (instead of hex) literals in codegen tests](https://www.github.com/rust-lang/rust/issues/156462) * `156461`: [LLVM 23: Specify `returnaddress` intrinsic return type](https://www.github.com/rust-lang/rust/issues/156461) * `156442`: [Show intrinsics::gpu in docs](https://www.github.com/rust-lang/rust/issues/156442) * `156022`: [rustdoc: Fix cosmetic issues when reporting unresolved paths in `broken_intra_doc_links`](https://www.github.com/rust-lang/rust/issues/156022) * `155184`: [ Have arrays' `drop_glue` just unsize and call the slice version](https://www.github.com/rust-lang/rust/issues/155184) * `155169`: [jsondoclint: simplify code using idiomatic Rust](https://www.github.com/rust-lang/rust/issues/155169) * `147672`: [LLBC-linker: Do not strip debug symbols for the nvptx target anymore](https://www.github.com/rust-lang/rust/issues/147672) * `156429`: [Simplify `intrinsic::raw_eq` in MIR when possible](https://www.github.com/rust-lang/rust/issues/156429) * `155023`: [Introduce move expressions (`move($expr)`) ](https://www.github.com/rust-lang/rust/issues/155023) * `156448`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156448) * `156441`: [Rollup of 13 pull requests](https://www.github.com/rust-lang/rust/issues/156441) * `156426`: [Fix unwanted "Available on XX-bit only" in libcore integers](https://www.github.com/rust-lang/rust/issues/156426) * `156411`: [bootstrap: Don't panic on `x install --set build.extended=true`](https://www.github.com/rust-lang/rust/issues/156411) * `156392`: [Improve doc comments for f32::ceil() and f32::floor()](https://www.github.com/rust-lang/rust/issues/156392) * `156384`: [Remove some dead code for dumping MIR for a single DefId](https://www.github.com/rust-lang/rust/issues/156384) * `156372`: [remove allows_weak_linkage target spec flag](https://www.github.com/rust-lang/rust/issues/156372) * `156282`: [Update `sysinfo` version to `0.39.0`](https://www.github.com/rust-lang/rust/issues/156282) * `155946`: [Refuse to push changes with a dirty git client](https://www.github.com/rust-lang/rust/issues/155946) * `156406`: [resolve: Module-related refactorings](https://www.github.com/rust-lang/rust/issues/156406) * `156375`: [kernel_copy tests: properly join background threads](https://www.github.com/rust-lang/rust/issues/156375) * `156147`: [Update ICU4X to 2.2](https://www.github.com/rust-lang/rust/issues/156147) * `156389`: [prepare fs tests for miri](https://www.github.com/rust-lang/rust/issues/156389) * `156357`: [tests: ip*_properties: avoid parsing the IP over and over again](https://www.github.com/rust-lang/rust/issues/156357) * `156437`: [`rust-analyzer` subtree update](https://www.github.com/rust-lang/rust/issues/156437) * `153975`: [remove forever-deprecated and hidden `f64` methods](https://www.github.com/rust-lang/rust/issues/153975) * `156405`: [Rollup of 10 pull requests](https://www.github.com/rust-lang/rust/issues/156405) * `156368`: [Fix invalid unreachable in is_known_valid_scrutinee for Reborrow](https://www.github.com/rust-lang/rust/issues/156368) * `156365`: [stream_send_recv_stress tests: wait for threads to finish](https://www.github.com/rust-lang/rust/issues/156365) * `156192`: [core: Replace `ptr::slice_from_raw_parts` with `slice::from_raw_parts`](https://www.github.com/rust-lang/rust/issues/156192) * `156129`: [compiletest: Migrate from `PassMode`/`FailMode` to `PassFailMode`](https://www.github.com/rust-lang/rust/issues/156129) * `156387`: [std fs tests: avoid matching on OS-provided error string](https://www.github.com/rust-lang/rust/issues/156387) * `156323`: [Handle --print=backend-has-mnemonic in cg_clif](https://www.github.com/rust-lang/rust/issues/156323) * `155982`: [Fix closure HIR span context mismatch](https://www.github.com/rust-lang/rust/issues/155982) * `155679`: [rustdoc: Reify emission types](https://www.github.com/rust-lang/rust/issues/155679) * `154972`: [Implement `core::arch::return_address` and tests](https://www.github.com/rust-lang/rust/issues/154972) * `156394`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156394) * `144537`: [Add `Drop::pin_drop` for pinned drops](https://www.github.com/rust-lang/rust/issues/144537) * `156185`: [resolve: Evaluate private visibilities eagerly in eff vis computation](https://www.github.com/rust-lang/rust/issues/156185) * `156378`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/156378) * `156363`: [`rustc_attr_parsing`: add `AcceptContext::expect_string_literal`](https://www.github.com/rust-lang/rust/issues/156363) * `156133`: [mark some panicking methods around Duration as track_caller](https://www.github.com/rust-lang/rust/issues/156133) * `156107`: [remove turbofish notation + use None / Some instead of Option:: (in match documentation)](https://www.github.com/rust-lang/rust/issues/156107) * `155817`: [validate `#[link_name = "..."]` & `#[link(name = "...")]` parameters](https://www.github.com/rust-lang/rust/issues/155817) * `155515`: [error on empty `export_name`](https://www.github.com/rust-lang/rust/issues/155515) * `155188`: [Add regression test for issue 144329](https://www.github.com/rust-lang/rust/issues/155188) * `156169`: [Change `SwitchInt` handling in dataflow analysis.](https://www.github.com/rust-lang/rust/issues/156169) * `156006`: [Update a bunch of bootstrap dependencies to remove windows-target](https://www.github.com/rust-lang/rust/issues/156006) * `155970`: [Add mention of sendfile(2) and splice(2) to fs::copy() documentation.](https://www.github.com/rust-lang/rust/issues/155970) * `155705`: [Add `str::word_to_titlecase()` to `alloc`](https://www.github.com/rust-lang/rust/issues/155705) * `149362`: [Add Command::get_resolved_envs](https://www.github.com/rust-lang/rust/issues/149362) * `148214`: [Consider `Result<T, Uninhabited>` and `ControlFlow<Uninhabited, T>` to be equivalent to `T` for must use lint](https://www.github.com/rust-lang/rust/issues/148214) * `155321`: [`BufWriter`: Make the soundness of `BorrowedBuf` usage clearer.](https://www.github.com/rust-lang/rust/issues/155321) * `156361`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156361) * `156353`: [resolve: Set correct parent and expansion for `self` declarations](https://www.github.com/rust-lang/rust/issues/156353) * `156235`: [fix: Guard SizeSkeleton::compute against stack overflow](https://www.github.com/rust-lang/rust/issues/156235) * `156124`: [Make stable hashing names consistent (part 2)](https://www.github.com/rust-lang/rust/issues/156124) * `156359`: [use `cfg_select!` in integer `{to, from}_{le, be}`](https://www.github.com/rust-lang/rust/issues/156359) * `156354`: [Update example code of `std::array::from_fn`](https://www.github.com/rust-lang/rust/issues/156354) * `156351`: [Update cargo submodule](https://www.github.com/rust-lang/rust/issues/156351) * `156297`: [Implement some trait for next solver's lang item enums](https://www.github.com/rust-lang/rust/issues/156297) * `156341`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156341) * `156337`: [rustc-dev-guide subtree update](https://www.github.com/rust-lang/rust/issues/156337) * `156333`: [Avoid invalid spans in dotdotdot rest pattern suggestions](https://www.github.com/rust-lang/rust/issues/156333) * `156306`: [Move tests consts](https://www.github.com/rust-lang/rust/issues/156306) * `156244`: [fix incorrect suggestions in private import diagnostic](https://www.github.com/rust-lang/rust/issues/156244) * `156141`: [Resolve some cases of #132279 by using the right typing mode in the next solver](https://www.github.com/rust-lang/rust/issues/156141) * `156324`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156324) * `156301`: [Avoid ICE when suggesting as_ref for ill-typed closure receivers](https://www.github.com/rust-lang/rust/issues/156301) * `156291`: [Treat MSVC "performing full link" message as informational](https://www.github.com/rust-lang/rust/issues/156291) * `156038`: [turn `compute_goal_fast_path` into a single match](https://www.github.com/rust-lang/rust/issues/156038) * `156246`: [Introduce a `RerunNonErased` error type mirroring `NoSolution`, to better track when we're bailing](https://www.github.com/rust-lang/rust/issues/156246) Co-authored-by: Ralf Jung <post@ralfj.de> Co-authored-by: Onyeka Obi <softwareengineerasaservant@isurvivable.cv> Co-authored-by: bors <bors@rust-lang.org> Co-authored-by: León Orell Valerian Liehr <me@fmease.dev> Co-authored-by: Chayim Refael Friedman <chayimfr@gmail.com> Co-authored-by: workflows-rust-analyzer[bot] <223433972+workflows-rust-analyzer[bot]@users.noreply.github.com> Co-authored-by: Matthias Krüger <476013+matthiaskrgr@users.noreply.github.com> Co-authored-by: bit-aloo <sshourya17@gmail.com> Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com> Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
This comment was marked as outdated.
This comment was marked as outdated.
7c82fd4 to
f4ee4a5
Compare
Seemingly on XFS only, the `AlreadyExists` variant is returned.
Reproducible on Linux hosts:
```rust
use clap::Parser;
struct Args {
/// Destination to try
#[arg()]
path: std::path::PathBuf,
}
fn main() {
let args = Args::parse();
// Renaming a directory over a non-empty existing directory should fail.
let tmpdir = std::path::Path::new(&args.path);
std::fs::create_dir_all(tmpdir).unwrap();
let source_path = tmpdir.join("source_directory");
let target_path = tmpdir.join("target_directory");
std::fs::create_dir(&source_path).unwrap();
std::fs::create_dir(&target_path).unwrap();
let target_path_file = target_path.join("target_file.txt");
std::fs::write(target_path.join("target_file.txt"), b"target hello world").unwrap();
println!("wrote {target_path_file:?}");
println!("{source_path:?} -> {target_path:?}");
let err = std::fs::rename(source_path, target_path).unwrap_err();
assert_eq!(err.kind(), std::io::ErrorKind::DirectoryNotEmpty);
}
```
```bash
XFS_BLOCK=image-xfs
truncate -s 512M image-xfs
mkfs.xfs -q image-xfs
mkdir mnt-xfs
sudo mount -o loop image-xfs mnt-xfs
sudo chmod 777 mnt-xfs
cargo run -- mnt-xfs/
```
Output:
```
wrote "mnt-xfs/target_directory/target_file.txt"
"mnt-xfs/source_directory" -> "mnt-xfs/target_directory"
thread 'main' (267220) panicked at src/main.rs:30:5:
assertion `left == right` failed
left: AlreadyExists
right: DirectoryNotEmpty
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```
f4ee4a5 to
c632096
Compare
Urhengulas
approved these changes
May 20, 2026
Urhengulas
left a comment
Member
There was a problem hiding this comment.
Looks good to me, apart from one suggestion. If you disagree to add the comment, feel free to merge.
Co-authored-by: Johann Hemmann <johann.hemmann@ferrous-systems.com>
bors-ferrocene Bot
added a commit
that referenced
this pull request
May 20, 2026
2375: Automated pull from upstream `HEAD` r=Urhengulas a=ferrocene-automations[bot] :warning: **The automation reported these warnings:** :warning: * There are merge conflicts in this PR. Merge conflict markers have been committed. * Couldn't regenerate the symbol report. Please run './x test certified-core-symbols --bless' after fixing the conflicts. This PR pulls the following changes from the upstream repository: * `156559`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/156559) * `156540`: [use `deref_patterns` in `rustdoc` instead of `box_patterns`](https://www.github.com/rust-lang/rust/issues/156540) * `156539`: [Add `ChildExt::kill_process_group`](https://www.github.com/rust-lang/rust/issues/156539) * `156413`: [rustdoc: Correctness & perf improvements to link-to-definition](https://www.github.com/rust-lang/rust/issues/156413) * `156260`: [test: suppress deprecation warning](https://www.github.com/rust-lang/rust/issues/156260) * `156500`: [Privacy: move macros handling to early stage](https://www.github.com/rust-lang/rust/issues/156500) * `156344`: [Do not index past end of buffer when checking heuristic in error index syntax highlighter](https://www.github.com/rust-lang/rust/issues/156344) * `156552`: [Clippy subtree update](https://www.github.com/rust-lang/rust/issues/156552) * `138995`: [Split the node_id_to_def_id table into a per-owner table](https://www.github.com/rust-lang/rust/issues/138995) * `156546`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156546) * `156543`: [Update rustbook dependencies to remove windows-targets dependency](https://www.github.com/rust-lang/rust/issues/156543) * `156536`: [`reveal_actual_level` improvements](https://www.github.com/rust-lang/rust/issues/156536) * `156425`: [Fix unused assignments in diverging branches](https://www.github.com/rust-lang/rust/issues/156425) * `155815`: [Add Swift function call ABI](https://www.github.com/rust-lang/rust/issues/155815) * `156535`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156535) * `156325`: [Don't treat const param default as projection](https://www.github.com/rust-lang/rust/issues/156325) * `156524`: [Remove the dummy `PreCodegen` mir-opt pass, and use `runtime-optimized` instead](https://www.github.com/rust-lang/rust/issues/156524) * `156513`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156513) * `156504`: [bootstrap: remap windows-style OUT_DIR paths](https://www.github.com/rust-lang/rust/issues/156504) * `156472`: [Add support for Zprint-codegen-stats-json](https://www.github.com/rust-lang/rust/issues/156472) * `156224`: [Unnormalized migration: assert_fully_normalized, struct_tail, and `field.ty`](https://www.github.com/rust-lang/rust/issues/156224) * `156506`: [Rollup of 6 pull requests](https://www.github.com/rust-lang/rust/issues/156506) * `156502`: [Give an example of a Ctor in the doc-comments](https://www.github.com/rust-lang/rust/issues/156502) * `156284`: [resolve: Fix a false positive "cannot reexport" error for ambiguous glob sets](https://www.github.com/rust-lang/rust/issues/156284) * `156145`: [Move tests cast](https://www.github.com/rust-lang/rust/issues/156145) * `156431`: [Move `std::io::util` to `core::io`](https://www.github.com/rust-lang/rust/issues/156431) * `156428`: [Move `std::io::Cursor` to `core::io`](https://www.github.com/rust-lang/rust/issues/156428) * `156287`: [move more compiler crates away from `box_patterns` ](https://www.github.com/rust-lang/rust/issues/156287) * `156483`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156483) * `156479`: [fix missing space in Rc::decrement_strong_count docs](https://www.github.com/rust-lang/rust/issues/156479) * `154918`: [Fix elided lifetime resolution & trait object lifetime defaulting for enum variant paths](https://www.github.com/rust-lang/rust/issues/154918) * `156393`: [enable more f16/f128 tests in Miri](https://www.github.com/rust-lang/rust/issues/156393) * `154754`: [Add Enzyme to build-manifest and rustup](https://www.github.com/rust-lang/rust/issues/154754) * `155887`: [-Zassumptions-on-binders](https://www.github.com/rust-lang/rust/issues/155887) * `156473`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/156473) * `156466`: [Refactor `CheckAttrVisitor` so rustfmt can format it.](https://www.github.com/rust-lang/rust/issues/156466) * `156462`: [LLVM 23: Accept float (instead of hex) literals in codegen tests](https://www.github.com/rust-lang/rust/issues/156462) * `156461`: [LLVM 23: Specify `returnaddress` intrinsic return type](https://www.github.com/rust-lang/rust/issues/156461) * `156442`: [Show intrinsics::gpu in docs](https://www.github.com/rust-lang/rust/issues/156442) * `156022`: [rustdoc: Fix cosmetic issues when reporting unresolved paths in `broken_intra_doc_links`](https://www.github.com/rust-lang/rust/issues/156022) * `155184`: [ Have arrays' `drop_glue` just unsize and call the slice version](https://www.github.com/rust-lang/rust/issues/155184) * `155169`: [jsondoclint: simplify code using idiomatic Rust](https://www.github.com/rust-lang/rust/issues/155169) * `147672`: [LLBC-linker: Do not strip debug symbols for the nvptx target anymore](https://www.github.com/rust-lang/rust/issues/147672) * `156429`: [Simplify `intrinsic::raw_eq` in MIR when possible](https://www.github.com/rust-lang/rust/issues/156429) * `155023`: [Introduce move expressions (`move($expr)`) ](https://www.github.com/rust-lang/rust/issues/155023) * `156448`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156448) * `156441`: [Rollup of 13 pull requests](https://www.github.com/rust-lang/rust/issues/156441) * `156426`: [Fix unwanted "Available on XX-bit only" in libcore integers](https://www.github.com/rust-lang/rust/issues/156426) * `156411`: [bootstrap: Don't panic on `x install --set build.extended=true`](https://www.github.com/rust-lang/rust/issues/156411) * `156392`: [Improve doc comments for f32::ceil() and f32::floor()](https://www.github.com/rust-lang/rust/issues/156392) * `156384`: [Remove some dead code for dumping MIR for a single DefId](https://www.github.com/rust-lang/rust/issues/156384) * `156372`: [remove allows_weak_linkage target spec flag](https://www.github.com/rust-lang/rust/issues/156372) * `156282`: [Update `sysinfo` version to `0.39.0`](https://www.github.com/rust-lang/rust/issues/156282) * `155946`: [Refuse to push changes with a dirty git client](https://www.github.com/rust-lang/rust/issues/155946) * `156406`: [resolve: Module-related refactorings](https://www.github.com/rust-lang/rust/issues/156406) * `156375`: [kernel_copy tests: properly join background threads](https://www.github.com/rust-lang/rust/issues/156375) * `156147`: [Update ICU4X to 2.2](https://www.github.com/rust-lang/rust/issues/156147) * `156389`: [prepare fs tests for miri](https://www.github.com/rust-lang/rust/issues/156389) * `156357`: [tests: ip*_properties: avoid parsing the IP over and over again](https://www.github.com/rust-lang/rust/issues/156357) * `156437`: [`rust-analyzer` subtree update](https://www.github.com/rust-lang/rust/issues/156437) * `153975`: [remove forever-deprecated and hidden `f64` methods](https://www.github.com/rust-lang/rust/issues/153975) * `156405`: [Rollup of 10 pull requests](https://www.github.com/rust-lang/rust/issues/156405) * `156368`: [Fix invalid unreachable in is_known_valid_scrutinee for Reborrow](https://www.github.com/rust-lang/rust/issues/156368) * `156365`: [stream_send_recv_stress tests: wait for threads to finish](https://www.github.com/rust-lang/rust/issues/156365) * `156192`: [core: Replace `ptr::slice_from_raw_parts` with `slice::from_raw_parts`](https://www.github.com/rust-lang/rust/issues/156192) * `156129`: [compiletest: Migrate from `PassMode`/`FailMode` to `PassFailMode`](https://www.github.com/rust-lang/rust/issues/156129) * `156387`: [std fs tests: avoid matching on OS-provided error string](https://www.github.com/rust-lang/rust/issues/156387) * `156323`: [Handle --print=backend-has-mnemonic in cg_clif](https://www.github.com/rust-lang/rust/issues/156323) * `155982`: [Fix closure HIR span context mismatch](https://www.github.com/rust-lang/rust/issues/155982) * `155679`: [rustdoc: Reify emission types](https://www.github.com/rust-lang/rust/issues/155679) * `154972`: [Implement `core::arch::return_address` and tests](https://www.github.com/rust-lang/rust/issues/154972) * `156394`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156394) * `144537`: [Add `Drop::pin_drop` for pinned drops](https://www.github.com/rust-lang/rust/issues/144537) * `156185`: [resolve: Evaluate private visibilities eagerly in eff vis computation](https://www.github.com/rust-lang/rust/issues/156185) * `156378`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/156378) * `156363`: [`rustc_attr_parsing`: add `AcceptContext::expect_string_literal`](https://www.github.com/rust-lang/rust/issues/156363) * `156133`: [mark some panicking methods around Duration as track_caller](https://www.github.com/rust-lang/rust/issues/156133) * `156107`: [remove turbofish notation + use None / Some instead of Option:: (in match documentation)](https://www.github.com/rust-lang/rust/issues/156107) * `155817`: [validate `#[link_name = "..."]` & `#[link(name = "...")]` parameters](https://www.github.com/rust-lang/rust/issues/155817) * `155515`: [error on empty `export_name`](https://www.github.com/rust-lang/rust/issues/155515) * `155188`: [Add regression test for issue 144329](https://www.github.com/rust-lang/rust/issues/155188) * `156169`: [Change `SwitchInt` handling in dataflow analysis.](https://www.github.com/rust-lang/rust/issues/156169) * `156006`: [Update a bunch of bootstrap dependencies to remove windows-target](https://www.github.com/rust-lang/rust/issues/156006) * `155970`: [Add mention of sendfile(2) and splice(2) to fs::copy() documentation.](https://www.github.com/rust-lang/rust/issues/155970) * `155705`: [Add `str::word_to_titlecase()` to `alloc`](https://www.github.com/rust-lang/rust/issues/155705) * `149362`: [Add Command::get_resolved_envs](https://www.github.com/rust-lang/rust/issues/149362) * `148214`: [Consider `Result<T, Uninhabited>` and `ControlFlow<Uninhabited, T>` to be equivalent to `T` for must use lint](https://www.github.com/rust-lang/rust/issues/148214) * `155321`: [`BufWriter`: Make the soundness of `BorrowedBuf` usage clearer.](https://www.github.com/rust-lang/rust/issues/155321) * `156361`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156361) * `156353`: [resolve: Set correct parent and expansion for `self` declarations](https://www.github.com/rust-lang/rust/issues/156353) * `156235`: [fix: Guard SizeSkeleton::compute against stack overflow](https://www.github.com/rust-lang/rust/issues/156235) * `156124`: [Make stable hashing names consistent (part 2)](https://www.github.com/rust-lang/rust/issues/156124) * `156359`: [use `cfg_select!` in integer `{to, from}_{le, be}`](https://www.github.com/rust-lang/rust/issues/156359) * `156354`: [Update example code of `std::array::from_fn`](https://www.github.com/rust-lang/rust/issues/156354) * `156351`: [Update cargo submodule](https://www.github.com/rust-lang/rust/issues/156351) * `156297`: [Implement some trait for next solver's lang item enums](https://www.github.com/rust-lang/rust/issues/156297) * `156341`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156341) * `156337`: [rustc-dev-guide subtree update](https://www.github.com/rust-lang/rust/issues/156337) * `156333`: [Avoid invalid spans in dotdotdot rest pattern suggestions](https://www.github.com/rust-lang/rust/issues/156333) * `156306`: [Move tests consts](https://www.github.com/rust-lang/rust/issues/156306) * `156244`: [fix incorrect suggestions in private import diagnostic](https://www.github.com/rust-lang/rust/issues/156244) * `156141`: [Resolve some cases of #132279 by using the right typing mode in the next solver](https://www.github.com/rust-lang/rust/issues/156141) * `156324`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156324) * `156301`: [Avoid ICE when suggesting as_ref for ill-typed closure receivers](https://www.github.com/rust-lang/rust/issues/156301) * `156291`: [Treat MSVC "performing full link" message as informational](https://www.github.com/rust-lang/rust/issues/156291) * `156038`: [turn `compute_goal_fast_path` into a single match](https://www.github.com/rust-lang/rust/issues/156038) * `156246`: [Introduce a `RerunNonErased` error type mirroring `NoSolution`, to better track when we're bailing](https://www.github.com/rust-lang/rust/issues/156246) Co-authored-by: Ralf Jung <post@ralfj.de> Co-authored-by: Onyeka Obi <softwareengineerasaservant@isurvivable.cv> Co-authored-by: bors <bors@rust-lang.org> Co-authored-by: León Orell Valerian Liehr <me@fmease.dev> Co-authored-by: Chayim Refael Friedman <chayimfr@gmail.com> Co-authored-by: workflows-rust-analyzer[bot] <223433972+workflows-rust-analyzer[bot]@users.noreply.github.com> Co-authored-by: Matthias Krüger <476013+matthiaskrgr@users.noreply.github.com> Co-authored-by: bit-aloo <sshourya17@gmail.com> Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com> Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com> Co-authored-by: Tony Wu <tonywu6@protonmail.com> Co-authored-by: Zalathar <Zalathar@users.noreply.github.com>
This comment was marked as outdated.
This comment was marked as outdated.
Member
|
Bors merge |
bors-ferrocene Bot
added a commit
that referenced
this pull request
May 21, 2026
2375: Automated pull from upstream `HEAD` r=Hoverbear a=ferrocene-automations[bot] :warning: **The automation reported these warnings:** :warning: * There are merge conflicts in this PR. Merge conflict markers have been committed. * Couldn't regenerate the symbol report. Please run './x test certified-core-symbols --bless' after fixing the conflicts. This PR pulls the following changes from the upstream repository: * `156559`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/156559) * `156540`: [use `deref_patterns` in `rustdoc` instead of `box_patterns`](https://www.github.com/rust-lang/rust/issues/156540) * `156539`: [Add `ChildExt::kill_process_group`](https://www.github.com/rust-lang/rust/issues/156539) * `156413`: [rustdoc: Correctness & perf improvements to link-to-definition](https://www.github.com/rust-lang/rust/issues/156413) * `156260`: [test: suppress deprecation warning](https://www.github.com/rust-lang/rust/issues/156260) * `156500`: [Privacy: move macros handling to early stage](https://www.github.com/rust-lang/rust/issues/156500) * `156344`: [Do not index past end of buffer when checking heuristic in error index syntax highlighter](https://www.github.com/rust-lang/rust/issues/156344) * `156552`: [Clippy subtree update](https://www.github.com/rust-lang/rust/issues/156552) * `138995`: [Split the node_id_to_def_id table into a per-owner table](https://www.github.com/rust-lang/rust/issues/138995) * `156546`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156546) * `156543`: [Update rustbook dependencies to remove windows-targets dependency](https://www.github.com/rust-lang/rust/issues/156543) * `156536`: [`reveal_actual_level` improvements](https://www.github.com/rust-lang/rust/issues/156536) * `156425`: [Fix unused assignments in diverging branches](https://www.github.com/rust-lang/rust/issues/156425) * `155815`: [Add Swift function call ABI](https://www.github.com/rust-lang/rust/issues/155815) * `156535`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156535) * `156325`: [Don't treat const param default as projection](https://www.github.com/rust-lang/rust/issues/156325) * `156524`: [Remove the dummy `PreCodegen` mir-opt pass, and use `runtime-optimized` instead](https://www.github.com/rust-lang/rust/issues/156524) * `156513`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156513) * `156504`: [bootstrap: remap windows-style OUT_DIR paths](https://www.github.com/rust-lang/rust/issues/156504) * `156472`: [Add support for Zprint-codegen-stats-json](https://www.github.com/rust-lang/rust/issues/156472) * `156224`: [Unnormalized migration: assert_fully_normalized, struct_tail, and `field.ty`](https://www.github.com/rust-lang/rust/issues/156224) * `156506`: [Rollup of 6 pull requests](https://www.github.com/rust-lang/rust/issues/156506) * `156502`: [Give an example of a Ctor in the doc-comments](https://www.github.com/rust-lang/rust/issues/156502) * `156284`: [resolve: Fix a false positive "cannot reexport" error for ambiguous glob sets](https://www.github.com/rust-lang/rust/issues/156284) * `156145`: [Move tests cast](https://www.github.com/rust-lang/rust/issues/156145) * `156431`: [Move `std::io::util` to `core::io`](https://www.github.com/rust-lang/rust/issues/156431) * `156428`: [Move `std::io::Cursor` to `core::io`](https://www.github.com/rust-lang/rust/issues/156428) * `156287`: [move more compiler crates away from `box_patterns` ](https://www.github.com/rust-lang/rust/issues/156287) * `156483`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156483) * `156479`: [fix missing space in Rc::decrement_strong_count docs](https://www.github.com/rust-lang/rust/issues/156479) * `154918`: [Fix elided lifetime resolution & trait object lifetime defaulting for enum variant paths](https://www.github.com/rust-lang/rust/issues/154918) * `156393`: [enable more f16/f128 tests in Miri](https://www.github.com/rust-lang/rust/issues/156393) * `154754`: [Add Enzyme to build-manifest and rustup](https://www.github.com/rust-lang/rust/issues/154754) * `155887`: [-Zassumptions-on-binders](https://www.github.com/rust-lang/rust/issues/155887) * `156473`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/156473) * `156466`: [Refactor `CheckAttrVisitor` so rustfmt can format it.](https://www.github.com/rust-lang/rust/issues/156466) * `156462`: [LLVM 23: Accept float (instead of hex) literals in codegen tests](https://www.github.com/rust-lang/rust/issues/156462) * `156461`: [LLVM 23: Specify `returnaddress` intrinsic return type](https://www.github.com/rust-lang/rust/issues/156461) * `156442`: [Show intrinsics::gpu in docs](https://www.github.com/rust-lang/rust/issues/156442) * `156022`: [rustdoc: Fix cosmetic issues when reporting unresolved paths in `broken_intra_doc_links`](https://www.github.com/rust-lang/rust/issues/156022) * `155184`: [ Have arrays' `drop_glue` just unsize and call the slice version](https://www.github.com/rust-lang/rust/issues/155184) * `155169`: [jsondoclint: simplify code using idiomatic Rust](https://www.github.com/rust-lang/rust/issues/155169) * `147672`: [LLBC-linker: Do not strip debug symbols for the nvptx target anymore](https://www.github.com/rust-lang/rust/issues/147672) * `156429`: [Simplify `intrinsic::raw_eq` in MIR when possible](https://www.github.com/rust-lang/rust/issues/156429) * `155023`: [Introduce move expressions (`move($expr)`) ](https://www.github.com/rust-lang/rust/issues/155023) * `156448`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156448) * `156441`: [Rollup of 13 pull requests](https://www.github.com/rust-lang/rust/issues/156441) * `156426`: [Fix unwanted "Available on XX-bit only" in libcore integers](https://www.github.com/rust-lang/rust/issues/156426) * `156411`: [bootstrap: Don't panic on `x install --set build.extended=true`](https://www.github.com/rust-lang/rust/issues/156411) * `156392`: [Improve doc comments for f32::ceil() and f32::floor()](https://www.github.com/rust-lang/rust/issues/156392) * `156384`: [Remove some dead code for dumping MIR for a single DefId](https://www.github.com/rust-lang/rust/issues/156384) * `156372`: [remove allows_weak_linkage target spec flag](https://www.github.com/rust-lang/rust/issues/156372) * `156282`: [Update `sysinfo` version to `0.39.0`](https://www.github.com/rust-lang/rust/issues/156282) * `155946`: [Refuse to push changes with a dirty git client](https://www.github.com/rust-lang/rust/issues/155946) * `156406`: [resolve: Module-related refactorings](https://www.github.com/rust-lang/rust/issues/156406) * `156375`: [kernel_copy tests: properly join background threads](https://www.github.com/rust-lang/rust/issues/156375) * `156147`: [Update ICU4X to 2.2](https://www.github.com/rust-lang/rust/issues/156147) * `156389`: [prepare fs tests for miri](https://www.github.com/rust-lang/rust/issues/156389) * `156357`: [tests: ip*_properties: avoid parsing the IP over and over again](https://www.github.com/rust-lang/rust/issues/156357) * `156437`: [`rust-analyzer` subtree update](https://www.github.com/rust-lang/rust/issues/156437) * `153975`: [remove forever-deprecated and hidden `f64` methods](https://www.github.com/rust-lang/rust/issues/153975) * `156405`: [Rollup of 10 pull requests](https://www.github.com/rust-lang/rust/issues/156405) * `156368`: [Fix invalid unreachable in is_known_valid_scrutinee for Reborrow](https://www.github.com/rust-lang/rust/issues/156368) * `156365`: [stream_send_recv_stress tests: wait for threads to finish](https://www.github.com/rust-lang/rust/issues/156365) * `156192`: [core: Replace `ptr::slice_from_raw_parts` with `slice::from_raw_parts`](https://www.github.com/rust-lang/rust/issues/156192) * `156129`: [compiletest: Migrate from `PassMode`/`FailMode` to `PassFailMode`](https://www.github.com/rust-lang/rust/issues/156129) * `156387`: [std fs tests: avoid matching on OS-provided error string](https://www.github.com/rust-lang/rust/issues/156387) * `156323`: [Handle --print=backend-has-mnemonic in cg_clif](https://www.github.com/rust-lang/rust/issues/156323) * `155982`: [Fix closure HIR span context mismatch](https://www.github.com/rust-lang/rust/issues/155982) * `155679`: [rustdoc: Reify emission types](https://www.github.com/rust-lang/rust/issues/155679) * `154972`: [Implement `core::arch::return_address` and tests](https://www.github.com/rust-lang/rust/issues/154972) * `156394`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156394) * `144537`: [Add `Drop::pin_drop` for pinned drops](https://www.github.com/rust-lang/rust/issues/144537) * `156185`: [resolve: Evaluate private visibilities eagerly in eff vis computation](https://www.github.com/rust-lang/rust/issues/156185) * `156378`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/156378) * `156363`: [`rustc_attr_parsing`: add `AcceptContext::expect_string_literal`](https://www.github.com/rust-lang/rust/issues/156363) * `156133`: [mark some panicking methods around Duration as track_caller](https://www.github.com/rust-lang/rust/issues/156133) * `156107`: [remove turbofish notation + use None / Some instead of Option:: (in match documentation)](https://www.github.com/rust-lang/rust/issues/156107) * `155817`: [validate `#[link_name = "..."]` & `#[link(name = "...")]` parameters](https://www.github.com/rust-lang/rust/issues/155817) * `155515`: [error on empty `export_name`](https://www.github.com/rust-lang/rust/issues/155515) * `155188`: [Add regression test for issue 144329](https://www.github.com/rust-lang/rust/issues/155188) * `156169`: [Change `SwitchInt` handling in dataflow analysis.](https://www.github.com/rust-lang/rust/issues/156169) * `156006`: [Update a bunch of bootstrap dependencies to remove windows-target](https://www.github.com/rust-lang/rust/issues/156006) * `155970`: [Add mention of sendfile(2) and splice(2) to fs::copy() documentation.](https://www.github.com/rust-lang/rust/issues/155970) * `155705`: [Add `str::word_to_titlecase()` to `alloc`](https://www.github.com/rust-lang/rust/issues/155705) * `149362`: [Add Command::get_resolved_envs](https://www.github.com/rust-lang/rust/issues/149362) * `148214`: [Consider `Result<T, Uninhabited>` and `ControlFlow<Uninhabited, T>` to be equivalent to `T` for must use lint](https://www.github.com/rust-lang/rust/issues/148214) * `155321`: [`BufWriter`: Make the soundness of `BorrowedBuf` usage clearer.](https://www.github.com/rust-lang/rust/issues/155321) * `156361`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156361) * `156353`: [resolve: Set correct parent and expansion for `self` declarations](https://www.github.com/rust-lang/rust/issues/156353) * `156235`: [fix: Guard SizeSkeleton::compute against stack overflow](https://www.github.com/rust-lang/rust/issues/156235) * `156124`: [Make stable hashing names consistent (part 2)](https://www.github.com/rust-lang/rust/issues/156124) * `156359`: [use `cfg_select!` in integer `{to, from}_{le, be}`](https://www.github.com/rust-lang/rust/issues/156359) * `156354`: [Update example code of `std::array::from_fn`](https://www.github.com/rust-lang/rust/issues/156354) * `156351`: [Update cargo submodule](https://www.github.com/rust-lang/rust/issues/156351) * `156297`: [Implement some trait for next solver's lang item enums](https://www.github.com/rust-lang/rust/issues/156297) * `156341`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156341) * `156337`: [rustc-dev-guide subtree update](https://www.github.com/rust-lang/rust/issues/156337) * `156333`: [Avoid invalid spans in dotdotdot rest pattern suggestions](https://www.github.com/rust-lang/rust/issues/156333) * `156306`: [Move tests consts](https://www.github.com/rust-lang/rust/issues/156306) * `156244`: [fix incorrect suggestions in private import diagnostic](https://www.github.com/rust-lang/rust/issues/156244) * `156141`: [Resolve some cases of #132279 by using the right typing mode in the next solver](https://www.github.com/rust-lang/rust/issues/156141) * `156324`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156324) * `156301`: [Avoid ICE when suggesting as_ref for ill-typed closure receivers](https://www.github.com/rust-lang/rust/issues/156301) * `156291`: [Treat MSVC "performing full link" message as informational](https://www.github.com/rust-lang/rust/issues/156291) * `156038`: [turn `compute_goal_fast_path` into a single match](https://www.github.com/rust-lang/rust/issues/156038) * `156246`: [Introduce a `RerunNonErased` error type mirroring `NoSolution`, to better track when we're bailing](https://www.github.com/rust-lang/rust/issues/156246) Co-authored-by: Ralf Jung <post@ralfj.de> Co-authored-by: Onyeka Obi <softwareengineerasaservant@isurvivable.cv> Co-authored-by: bors <bors@rust-lang.org> Co-authored-by: León Orell Valerian Liehr <me@fmease.dev> Co-authored-by: Chayim Refael Friedman <chayimfr@gmail.com> Co-authored-by: workflows-rust-analyzer[bot] <223433972+workflows-rust-analyzer[bot]@users.noreply.github.com> Co-authored-by: Matthias Krüger <476013+matthiaskrgr@users.noreply.github.com> Co-authored-by: bit-aloo <sshourya17@gmail.com> Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com> Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com> Co-authored-by: Tony Wu <tonywu6@protonmail.com> Co-authored-by: Zalathar <Zalathar@users.noreply.github.com>
Contributor
|
Build failed:
|
Member
|
bors merge |
bors-ferrocene Bot
added a commit
that referenced
this pull request
May 22, 2026
2375: Automated pull from upstream `HEAD` r=Hoverbear a=ferrocene-automations[bot] :warning: **The automation reported these warnings:** :warning: * There are merge conflicts in this PR. Merge conflict markers have been committed. * Couldn't regenerate the symbol report. Please run './x test certified-core-symbols --bless' after fixing the conflicts. This PR pulls the following changes from the upstream repository: * `156559`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/156559) * `156540`: [use `deref_patterns` in `rustdoc` instead of `box_patterns`](https://www.github.com/rust-lang/rust/issues/156540) * `156539`: [Add `ChildExt::kill_process_group`](https://www.github.com/rust-lang/rust/issues/156539) * `156413`: [rustdoc: Correctness & perf improvements to link-to-definition](https://www.github.com/rust-lang/rust/issues/156413) * `156260`: [test: suppress deprecation warning](https://www.github.com/rust-lang/rust/issues/156260) * `156500`: [Privacy: move macros handling to early stage](https://www.github.com/rust-lang/rust/issues/156500) * `156344`: [Do not index past end of buffer when checking heuristic in error index syntax highlighter](https://www.github.com/rust-lang/rust/issues/156344) * `156552`: [Clippy subtree update](https://www.github.com/rust-lang/rust/issues/156552) * `138995`: [Split the node_id_to_def_id table into a per-owner table](https://www.github.com/rust-lang/rust/issues/138995) * `156546`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156546) * `156543`: [Update rustbook dependencies to remove windows-targets dependency](https://www.github.com/rust-lang/rust/issues/156543) * `156536`: [`reveal_actual_level` improvements](https://www.github.com/rust-lang/rust/issues/156536) * `156425`: [Fix unused assignments in diverging branches](https://www.github.com/rust-lang/rust/issues/156425) * `155815`: [Add Swift function call ABI](https://www.github.com/rust-lang/rust/issues/155815) * `156535`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156535) * `156325`: [Don't treat const param default as projection](https://www.github.com/rust-lang/rust/issues/156325) * `156524`: [Remove the dummy `PreCodegen` mir-opt pass, and use `runtime-optimized` instead](https://www.github.com/rust-lang/rust/issues/156524) * `156513`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156513) * `156504`: [bootstrap: remap windows-style OUT_DIR paths](https://www.github.com/rust-lang/rust/issues/156504) * `156472`: [Add support for Zprint-codegen-stats-json](https://www.github.com/rust-lang/rust/issues/156472) * `156224`: [Unnormalized migration: assert_fully_normalized, struct_tail, and `field.ty`](https://www.github.com/rust-lang/rust/issues/156224) * `156506`: [Rollup of 6 pull requests](https://www.github.com/rust-lang/rust/issues/156506) * `156502`: [Give an example of a Ctor in the doc-comments](https://www.github.com/rust-lang/rust/issues/156502) * `156284`: [resolve: Fix a false positive "cannot reexport" error for ambiguous glob sets](https://www.github.com/rust-lang/rust/issues/156284) * `156145`: [Move tests cast](https://www.github.com/rust-lang/rust/issues/156145) * `156431`: [Move `std::io::util` to `core::io`](https://www.github.com/rust-lang/rust/issues/156431) * `156428`: [Move `std::io::Cursor` to `core::io`](https://www.github.com/rust-lang/rust/issues/156428) * `156287`: [move more compiler crates away from `box_patterns` ](https://www.github.com/rust-lang/rust/issues/156287) * `156483`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156483) * `156479`: [fix missing space in Rc::decrement_strong_count docs](https://www.github.com/rust-lang/rust/issues/156479) * `154918`: [Fix elided lifetime resolution & trait object lifetime defaulting for enum variant paths](https://www.github.com/rust-lang/rust/issues/154918) * `156393`: [enable more f16/f128 tests in Miri](https://www.github.com/rust-lang/rust/issues/156393) * `154754`: [Add Enzyme to build-manifest and rustup](https://www.github.com/rust-lang/rust/issues/154754) * `155887`: [-Zassumptions-on-binders](https://www.github.com/rust-lang/rust/issues/155887) * `156473`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/156473) * `156466`: [Refactor `CheckAttrVisitor` so rustfmt can format it.](https://www.github.com/rust-lang/rust/issues/156466) * `156462`: [LLVM 23: Accept float (instead of hex) literals in codegen tests](https://www.github.com/rust-lang/rust/issues/156462) * `156461`: [LLVM 23: Specify `returnaddress` intrinsic return type](https://www.github.com/rust-lang/rust/issues/156461) * `156442`: [Show intrinsics::gpu in docs](https://www.github.com/rust-lang/rust/issues/156442) * `156022`: [rustdoc: Fix cosmetic issues when reporting unresolved paths in `broken_intra_doc_links`](https://www.github.com/rust-lang/rust/issues/156022) * `155184`: [ Have arrays' `drop_glue` just unsize and call the slice version](https://www.github.com/rust-lang/rust/issues/155184) * `155169`: [jsondoclint: simplify code using idiomatic Rust](https://www.github.com/rust-lang/rust/issues/155169) * `147672`: [LLBC-linker: Do not strip debug symbols for the nvptx target anymore](https://www.github.com/rust-lang/rust/issues/147672) * `156429`: [Simplify `intrinsic::raw_eq` in MIR when possible](https://www.github.com/rust-lang/rust/issues/156429) * `155023`: [Introduce move expressions (`move($expr)`) ](https://www.github.com/rust-lang/rust/issues/155023) * `156448`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156448) * `156441`: [Rollup of 13 pull requests](https://www.github.com/rust-lang/rust/issues/156441) * `156426`: [Fix unwanted "Available on XX-bit only" in libcore integers](https://www.github.com/rust-lang/rust/issues/156426) * `156411`: [bootstrap: Don't panic on `x install --set build.extended=true`](https://www.github.com/rust-lang/rust/issues/156411) * `156392`: [Improve doc comments for f32::ceil() and f32::floor()](https://www.github.com/rust-lang/rust/issues/156392) * `156384`: [Remove some dead code for dumping MIR for a single DefId](https://www.github.com/rust-lang/rust/issues/156384) * `156372`: [remove allows_weak_linkage target spec flag](https://www.github.com/rust-lang/rust/issues/156372) * `156282`: [Update `sysinfo` version to `0.39.0`](https://www.github.com/rust-lang/rust/issues/156282) * `155946`: [Refuse to push changes with a dirty git client](https://www.github.com/rust-lang/rust/issues/155946) * `156406`: [resolve: Module-related refactorings](https://www.github.com/rust-lang/rust/issues/156406) * `156375`: [kernel_copy tests: properly join background threads](https://www.github.com/rust-lang/rust/issues/156375) * `156147`: [Update ICU4X to 2.2](https://www.github.com/rust-lang/rust/issues/156147) * `156389`: [prepare fs tests for miri](https://www.github.com/rust-lang/rust/issues/156389) * `156357`: [tests: ip*_properties: avoid parsing the IP over and over again](https://www.github.com/rust-lang/rust/issues/156357) * `156437`: [`rust-analyzer` subtree update](https://www.github.com/rust-lang/rust/issues/156437) * `153975`: [remove forever-deprecated and hidden `f64` methods](https://www.github.com/rust-lang/rust/issues/153975) * `156405`: [Rollup of 10 pull requests](https://www.github.com/rust-lang/rust/issues/156405) * `156368`: [Fix invalid unreachable in is_known_valid_scrutinee for Reborrow](https://www.github.com/rust-lang/rust/issues/156368) * `156365`: [stream_send_recv_stress tests: wait for threads to finish](https://www.github.com/rust-lang/rust/issues/156365) * `156192`: [core: Replace `ptr::slice_from_raw_parts` with `slice::from_raw_parts`](https://www.github.com/rust-lang/rust/issues/156192) * `156129`: [compiletest: Migrate from `PassMode`/`FailMode` to `PassFailMode`](https://www.github.com/rust-lang/rust/issues/156129) * `156387`: [std fs tests: avoid matching on OS-provided error string](https://www.github.com/rust-lang/rust/issues/156387) * `156323`: [Handle --print=backend-has-mnemonic in cg_clif](https://www.github.com/rust-lang/rust/issues/156323) * `155982`: [Fix closure HIR span context mismatch](https://www.github.com/rust-lang/rust/issues/155982) * `155679`: [rustdoc: Reify emission types](https://www.github.com/rust-lang/rust/issues/155679) * `154972`: [Implement `core::arch::return_address` and tests](https://www.github.com/rust-lang/rust/issues/154972) * `156394`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156394) * `144537`: [Add `Drop::pin_drop` for pinned drops](https://www.github.com/rust-lang/rust/issues/144537) * `156185`: [resolve: Evaluate private visibilities eagerly in eff vis computation](https://www.github.com/rust-lang/rust/issues/156185) * `156378`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/156378) * `156363`: [`rustc_attr_parsing`: add `AcceptContext::expect_string_literal`](https://www.github.com/rust-lang/rust/issues/156363) * `156133`: [mark some panicking methods around Duration as track_caller](https://www.github.com/rust-lang/rust/issues/156133) * `156107`: [remove turbofish notation + use None / Some instead of Option:: (in match documentation)](https://www.github.com/rust-lang/rust/issues/156107) * `155817`: [validate `#[link_name = "..."]` & `#[link(name = "...")]` parameters](https://www.github.com/rust-lang/rust/issues/155817) * `155515`: [error on empty `export_name`](https://www.github.com/rust-lang/rust/issues/155515) * `155188`: [Add regression test for issue 144329](https://www.github.com/rust-lang/rust/issues/155188) * `156169`: [Change `SwitchInt` handling in dataflow analysis.](https://www.github.com/rust-lang/rust/issues/156169) * `156006`: [Update a bunch of bootstrap dependencies to remove windows-target](https://www.github.com/rust-lang/rust/issues/156006) * `155970`: [Add mention of sendfile(2) and splice(2) to fs::copy() documentation.](https://www.github.com/rust-lang/rust/issues/155970) * `155705`: [Add `str::word_to_titlecase()` to `alloc`](https://www.github.com/rust-lang/rust/issues/155705) * `149362`: [Add Command::get_resolved_envs](https://www.github.com/rust-lang/rust/issues/149362) * `148214`: [Consider `Result<T, Uninhabited>` and `ControlFlow<Uninhabited, T>` to be equivalent to `T` for must use lint](https://www.github.com/rust-lang/rust/issues/148214) * `155321`: [`BufWriter`: Make the soundness of `BorrowedBuf` usage clearer.](https://www.github.com/rust-lang/rust/issues/155321) * `156361`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156361) * `156353`: [resolve: Set correct parent and expansion for `self` declarations](https://www.github.com/rust-lang/rust/issues/156353) * `156235`: [fix: Guard SizeSkeleton::compute against stack overflow](https://www.github.com/rust-lang/rust/issues/156235) * `156124`: [Make stable hashing names consistent (part 2)](https://www.github.com/rust-lang/rust/issues/156124) * `156359`: [use `cfg_select!` in integer `{to, from}_{le, be}`](https://www.github.com/rust-lang/rust/issues/156359) * `156354`: [Update example code of `std::array::from_fn`](https://www.github.com/rust-lang/rust/issues/156354) * `156351`: [Update cargo submodule](https://www.github.com/rust-lang/rust/issues/156351) * `156297`: [Implement some trait for next solver's lang item enums](https://www.github.com/rust-lang/rust/issues/156297) * `156341`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156341) * `156337`: [rustc-dev-guide subtree update](https://www.github.com/rust-lang/rust/issues/156337) * `156333`: [Avoid invalid spans in dotdotdot rest pattern suggestions](https://www.github.com/rust-lang/rust/issues/156333) * `156306`: [Move tests consts](https://www.github.com/rust-lang/rust/issues/156306) * `156244`: [fix incorrect suggestions in private import diagnostic](https://www.github.com/rust-lang/rust/issues/156244) * `156141`: [Resolve some cases of #132279 by using the right typing mode in the next solver](https://www.github.com/rust-lang/rust/issues/156141) * `156324`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156324) * `156301`: [Avoid ICE when suggesting as_ref for ill-typed closure receivers](https://www.github.com/rust-lang/rust/issues/156301) * `156291`: [Treat MSVC "performing full link" message as informational](https://www.github.com/rust-lang/rust/issues/156291) * `156038`: [turn `compute_goal_fast_path` into a single match](https://www.github.com/rust-lang/rust/issues/156038) * `156246`: [Introduce a `RerunNonErased` error type mirroring `NoSolution`, to better track when we're bailing](https://www.github.com/rust-lang/rust/issues/156246) Co-authored-by: Ralf Jung <post@ralfj.de> Co-authored-by: Onyeka Obi <softwareengineerasaservant@isurvivable.cv> Co-authored-by: bors <bors@rust-lang.org> Co-authored-by: León Orell Valerian Liehr <me@fmease.dev> Co-authored-by: Chayim Refael Friedman <chayimfr@gmail.com> Co-authored-by: workflows-rust-analyzer[bot] <223433972+workflows-rust-analyzer[bot]@users.noreply.github.com> Co-authored-by: Matthias Krüger <476013+matthiaskrgr@users.noreply.github.com> Co-authored-by: bit-aloo <sshourya17@gmail.com> Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com> Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com> Co-authored-by: Tony Wu <tonywu6@protonmail.com> Co-authored-by: Zalathar <Zalathar@users.noreply.github.com>
Contributor
|
Build failed:
|
Member
|
bors merge |
bors-ferrocene Bot
added a commit
that referenced
this pull request
May 22, 2026
2375: Automated pull from upstream `HEAD` r=Hoverbear a=ferrocene-automations[bot] :warning: **The automation reported these warnings:** :warning: * There are merge conflicts in this PR. Merge conflict markers have been committed. * Couldn't regenerate the symbol report. Please run './x test certified-core-symbols --bless' after fixing the conflicts. This PR pulls the following changes from the upstream repository: * `156559`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/156559) * `156540`: [use `deref_patterns` in `rustdoc` instead of `box_patterns`](https://www.github.com/rust-lang/rust/issues/156540) * `156539`: [Add `ChildExt::kill_process_group`](https://www.github.com/rust-lang/rust/issues/156539) * `156413`: [rustdoc: Correctness & perf improvements to link-to-definition](https://www.github.com/rust-lang/rust/issues/156413) * `156260`: [test: suppress deprecation warning](https://www.github.com/rust-lang/rust/issues/156260) * `156500`: [Privacy: move macros handling to early stage](https://www.github.com/rust-lang/rust/issues/156500) * `156344`: [Do not index past end of buffer when checking heuristic in error index syntax highlighter](https://www.github.com/rust-lang/rust/issues/156344) * `156552`: [Clippy subtree update](https://www.github.com/rust-lang/rust/issues/156552) * `138995`: [Split the node_id_to_def_id table into a per-owner table](https://www.github.com/rust-lang/rust/issues/138995) * `156546`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156546) * `156543`: [Update rustbook dependencies to remove windows-targets dependency](https://www.github.com/rust-lang/rust/issues/156543) * `156536`: [`reveal_actual_level` improvements](https://www.github.com/rust-lang/rust/issues/156536) * `156425`: [Fix unused assignments in diverging branches](https://www.github.com/rust-lang/rust/issues/156425) * `155815`: [Add Swift function call ABI](https://www.github.com/rust-lang/rust/issues/155815) * `156535`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156535) * `156325`: [Don't treat const param default as projection](https://www.github.com/rust-lang/rust/issues/156325) * `156524`: [Remove the dummy `PreCodegen` mir-opt pass, and use `runtime-optimized` instead](https://www.github.com/rust-lang/rust/issues/156524) * `156513`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156513) * `156504`: [bootstrap: remap windows-style OUT_DIR paths](https://www.github.com/rust-lang/rust/issues/156504) * `156472`: [Add support for Zprint-codegen-stats-json](https://www.github.com/rust-lang/rust/issues/156472) * `156224`: [Unnormalized migration: assert_fully_normalized, struct_tail, and `field.ty`](https://www.github.com/rust-lang/rust/issues/156224) * `156506`: [Rollup of 6 pull requests](https://www.github.com/rust-lang/rust/issues/156506) * `156502`: [Give an example of a Ctor in the doc-comments](https://www.github.com/rust-lang/rust/issues/156502) * `156284`: [resolve: Fix a false positive "cannot reexport" error for ambiguous glob sets](https://www.github.com/rust-lang/rust/issues/156284) * `156145`: [Move tests cast](https://www.github.com/rust-lang/rust/issues/156145) * `156431`: [Move `std::io::util` to `core::io`](https://www.github.com/rust-lang/rust/issues/156431) * `156428`: [Move `std::io::Cursor` to `core::io`](https://www.github.com/rust-lang/rust/issues/156428) * `156287`: [move more compiler crates away from `box_patterns` ](https://www.github.com/rust-lang/rust/issues/156287) * `156483`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156483) * `156479`: [fix missing space in Rc::decrement_strong_count docs](https://www.github.com/rust-lang/rust/issues/156479) * `154918`: [Fix elided lifetime resolution & trait object lifetime defaulting for enum variant paths](https://www.github.com/rust-lang/rust/issues/154918) * `156393`: [enable more f16/f128 tests in Miri](https://www.github.com/rust-lang/rust/issues/156393) * `154754`: [Add Enzyme to build-manifest and rustup](https://www.github.com/rust-lang/rust/issues/154754) * `155887`: [-Zassumptions-on-binders](https://www.github.com/rust-lang/rust/issues/155887) * `156473`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/156473) * `156466`: [Refactor `CheckAttrVisitor` so rustfmt can format it.](https://www.github.com/rust-lang/rust/issues/156466) * `156462`: [LLVM 23: Accept float (instead of hex) literals in codegen tests](https://www.github.com/rust-lang/rust/issues/156462) * `156461`: [LLVM 23: Specify `returnaddress` intrinsic return type](https://www.github.com/rust-lang/rust/issues/156461) * `156442`: [Show intrinsics::gpu in docs](https://www.github.com/rust-lang/rust/issues/156442) * `156022`: [rustdoc: Fix cosmetic issues when reporting unresolved paths in `broken_intra_doc_links`](https://www.github.com/rust-lang/rust/issues/156022) * `155184`: [ Have arrays' `drop_glue` just unsize and call the slice version](https://www.github.com/rust-lang/rust/issues/155184) * `155169`: [jsondoclint: simplify code using idiomatic Rust](https://www.github.com/rust-lang/rust/issues/155169) * `147672`: [LLBC-linker: Do not strip debug symbols for the nvptx target anymore](https://www.github.com/rust-lang/rust/issues/147672) * `156429`: [Simplify `intrinsic::raw_eq` in MIR when possible](https://www.github.com/rust-lang/rust/issues/156429) * `155023`: [Introduce move expressions (`move($expr)`) ](https://www.github.com/rust-lang/rust/issues/155023) * `156448`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156448) * `156441`: [Rollup of 13 pull requests](https://www.github.com/rust-lang/rust/issues/156441) * `156426`: [Fix unwanted "Available on XX-bit only" in libcore integers](https://www.github.com/rust-lang/rust/issues/156426) * `156411`: [bootstrap: Don't panic on `x install --set build.extended=true`](https://www.github.com/rust-lang/rust/issues/156411) * `156392`: [Improve doc comments for f32::ceil() and f32::floor()](https://www.github.com/rust-lang/rust/issues/156392) * `156384`: [Remove some dead code for dumping MIR for a single DefId](https://www.github.com/rust-lang/rust/issues/156384) * `156372`: [remove allows_weak_linkage target spec flag](https://www.github.com/rust-lang/rust/issues/156372) * `156282`: [Update `sysinfo` version to `0.39.0`](https://www.github.com/rust-lang/rust/issues/156282) * `155946`: [Refuse to push changes with a dirty git client](https://www.github.com/rust-lang/rust/issues/155946) * `156406`: [resolve: Module-related refactorings](https://www.github.com/rust-lang/rust/issues/156406) * `156375`: [kernel_copy tests: properly join background threads](https://www.github.com/rust-lang/rust/issues/156375) * `156147`: [Update ICU4X to 2.2](https://www.github.com/rust-lang/rust/issues/156147) * `156389`: [prepare fs tests for miri](https://www.github.com/rust-lang/rust/issues/156389) * `156357`: [tests: ip*_properties: avoid parsing the IP over and over again](https://www.github.com/rust-lang/rust/issues/156357) * `156437`: [`rust-analyzer` subtree update](https://www.github.com/rust-lang/rust/issues/156437) * `153975`: [remove forever-deprecated and hidden `f64` methods](https://www.github.com/rust-lang/rust/issues/153975) * `156405`: [Rollup of 10 pull requests](https://www.github.com/rust-lang/rust/issues/156405) * `156368`: [Fix invalid unreachable in is_known_valid_scrutinee for Reborrow](https://www.github.com/rust-lang/rust/issues/156368) * `156365`: [stream_send_recv_stress tests: wait for threads to finish](https://www.github.com/rust-lang/rust/issues/156365) * `156192`: [core: Replace `ptr::slice_from_raw_parts` with `slice::from_raw_parts`](https://www.github.com/rust-lang/rust/issues/156192) * `156129`: [compiletest: Migrate from `PassMode`/`FailMode` to `PassFailMode`](https://www.github.com/rust-lang/rust/issues/156129) * `156387`: [std fs tests: avoid matching on OS-provided error string](https://www.github.com/rust-lang/rust/issues/156387) * `156323`: [Handle --print=backend-has-mnemonic in cg_clif](https://www.github.com/rust-lang/rust/issues/156323) * `155982`: [Fix closure HIR span context mismatch](https://www.github.com/rust-lang/rust/issues/155982) * `155679`: [rustdoc: Reify emission types](https://www.github.com/rust-lang/rust/issues/155679) * `154972`: [Implement `core::arch::return_address` and tests](https://www.github.com/rust-lang/rust/issues/154972) * `156394`: [miri subtree update](https://www.github.com/rust-lang/rust/issues/156394) * `144537`: [Add `Drop::pin_drop` for pinned drops](https://www.github.com/rust-lang/rust/issues/144537) * `156185`: [resolve: Evaluate private visibilities eagerly in eff vis computation](https://www.github.com/rust-lang/rust/issues/156185) * `156378`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/156378) * `156363`: [`rustc_attr_parsing`: add `AcceptContext::expect_string_literal`](https://www.github.com/rust-lang/rust/issues/156363) * `156133`: [mark some panicking methods around Duration as track_caller](https://www.github.com/rust-lang/rust/issues/156133) * `156107`: [remove turbofish notation + use None / Some instead of Option:: (in match documentation)](https://www.github.com/rust-lang/rust/issues/156107) * `155817`: [validate `#[link_name = "..."]` & `#[link(name = "...")]` parameters](https://www.github.com/rust-lang/rust/issues/155817) * `155515`: [error on empty `export_name`](https://www.github.com/rust-lang/rust/issues/155515) * `155188`: [Add regression test for issue 144329](https://www.github.com/rust-lang/rust/issues/155188) * `156169`: [Change `SwitchInt` handling in dataflow analysis.](https://www.github.com/rust-lang/rust/issues/156169) * `156006`: [Update a bunch of bootstrap dependencies to remove windows-target](https://www.github.com/rust-lang/rust/issues/156006) * `155970`: [Add mention of sendfile(2) and splice(2) to fs::copy() documentation.](https://www.github.com/rust-lang/rust/issues/155970) * `155705`: [Add `str::word_to_titlecase()` to `alloc`](https://www.github.com/rust-lang/rust/issues/155705) * `149362`: [Add Command::get_resolved_envs](https://www.github.com/rust-lang/rust/issues/149362) * `148214`: [Consider `Result<T, Uninhabited>` and `ControlFlow<Uninhabited, T>` to be equivalent to `T` for must use lint](https://www.github.com/rust-lang/rust/issues/148214) * `155321`: [`BufWriter`: Make the soundness of `BorrowedBuf` usage clearer.](https://www.github.com/rust-lang/rust/issues/155321) * `156361`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156361) * `156353`: [resolve: Set correct parent and expansion for `self` declarations](https://www.github.com/rust-lang/rust/issues/156353) * `156235`: [fix: Guard SizeSkeleton::compute against stack overflow](https://www.github.com/rust-lang/rust/issues/156235) * `156124`: [Make stable hashing names consistent (part 2)](https://www.github.com/rust-lang/rust/issues/156124) * `156359`: [use `cfg_select!` in integer `{to, from}_{le, be}`](https://www.github.com/rust-lang/rust/issues/156359) * `156354`: [Update example code of `std::array::from_fn`](https://www.github.com/rust-lang/rust/issues/156354) * `156351`: [Update cargo submodule](https://www.github.com/rust-lang/rust/issues/156351) * `156297`: [Implement some trait for next solver's lang item enums](https://www.github.com/rust-lang/rust/issues/156297) * `156341`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/156341) * `156337`: [rustc-dev-guide subtree update](https://www.github.com/rust-lang/rust/issues/156337) * `156333`: [Avoid invalid spans in dotdotdot rest pattern suggestions](https://www.github.com/rust-lang/rust/issues/156333) * `156306`: [Move tests consts](https://www.github.com/rust-lang/rust/issues/156306) * `156244`: [fix incorrect suggestions in private import diagnostic](https://www.github.com/rust-lang/rust/issues/156244) * `156141`: [Resolve some cases of #132279 by using the right typing mode in the next solver](https://www.github.com/rust-lang/rust/issues/156141) * `156324`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/156324) * `156301`: [Avoid ICE when suggesting as_ref for ill-typed closure receivers](https://www.github.com/rust-lang/rust/issues/156301) * `156291`: [Treat MSVC "performing full link" message as informational](https://www.github.com/rust-lang/rust/issues/156291) * `156038`: [turn `compute_goal_fast_path` into a single match](https://www.github.com/rust-lang/rust/issues/156038) * `156246`: [Introduce a `RerunNonErased` error type mirroring `NoSolution`, to better track when we're bailing](https://www.github.com/rust-lang/rust/issues/156246) Co-authored-by: Ralf Jung <post@ralfj.de> Co-authored-by: Onyeka Obi <softwareengineerasaservant@isurvivable.cv> Co-authored-by: bors <bors@rust-lang.org> Co-authored-by: León Orell Valerian Liehr <me@fmease.dev> Co-authored-by: Chayim Refael Friedman <chayimfr@gmail.com> Co-authored-by: workflows-rust-analyzer[bot] <223433972+workflows-rust-analyzer[bot]@users.noreply.github.com> Co-authored-by: Matthias Krüger <476013+matthiaskrgr@users.noreply.github.com> Co-authored-by: bit-aloo <sshourya17@gmail.com> Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com> Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com> Co-authored-by: Tony Wu <tonywu6@protonmail.com> Co-authored-by: Zalathar <Zalathar@users.noreply.github.com>
Contributor
|
Build failed:
|
Member
|
bors merge |
Contributor
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Jun 8, 2026
…r=Mark-Simulacrum xfs support in `test_rename_directory_to_non_empty_directory` While running Ferrocene's test suite we use a variety of filesystems, including XFS. Those systems caught a failing test in [a recent upstream pull](ferrocene/ferrocene#2375). The test failing: https://github.com/rust-lang/rust/blob/1ea1171c1e537f295225be1c7b67dba46794e6ad/library/std/src/fs/tests.rs#L2141-L2157 It was recently removed from being Windows-only in: rust-lang@a0298aa#diff-0ec4075fea7f5f4cc82c306e975ae7638b1fc500d30c11a83f337a69ef1dfd65L2177 Seemingly on XFS only, the `AlreadyExists` variant is returned instead. This workaround allows both possible errors. I am unsure at this time if it is a signal of incorrectness in Rust somewhere, but on Python a similar failure can be noted: ```bash ana@autonoma ~/git/ferrocene/scratch ❯ mkdir blap flap ana@autonoma ~/git/ferrocene/scratch ❯ touch flap/zap ana@autonoma ~/git/ferrocene/scratch ❯ python Python 3.13.13 (main, May 15 2026, 12:38:54) [GCC 15.2.1 20260214] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.rename("blap", "flap") Traceback (most recent call last): File "<python-input-3>", line 1, in <module> os.rename("blap", "flap") ~~~~~~~~~^^^^^^^^^^^^^^^^ FileExistsError: [Errno 17] File exists: 'blap' -> 'flap' ana@autonoma ~/git/ferrocene/scratch ❯ cd /tmp/ ana@autonoma /tmp ❯ mkdir blap flap ana@autonoma /tmp ❯ touch flap/zap ana@autonoma /tmp ❯ python Python 3.13.13 (main, May 15 2026, 12:38:54) [GCC 15.2.1 20260214] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.rename("blap", "flap") Traceback (most recent call last): File "<python-input-1>", line 1, in <module> os.rename("blap", "flap") ~~~~~~~~~^^^^^^^^^^^^^^^^ OSError: [Errno 39] Directory not empty: 'blap' -> 'flap' ``` I tested on `ext4`, `tmpfs`, `overlayfs`, `btrfs`, and `xfs`. Only XFS seems to display this error. ## Reproduction On Linux hosts: ```rust use clap::Parser; struct Args { /// Destination to try #[arg()] path: std::path::PathBuf, } fn main() { let args = Args::parse(); // Renaming a directory over a non-empty existing directory should fail. let tmpdir = std::path::Path::new(&args.path); std::fs::create_dir_all(tmpdir).unwrap(); let source_path = tmpdir.join("source_directory"); let target_path = tmpdir.join("target_directory"); std::fs::create_dir(&source_path).unwrap(); std::fs::create_dir(&target_path).unwrap(); let target_path_file = target_path.join("target_file.txt"); std::fs::write(target_path.join("target_file.txt"), b"target hello world").unwrap(); println!("wrote {target_path_file:?}"); println!("{source_path:?} -> {target_path:?}"); let err = std::fs::rename(source_path, target_path).unwrap_err(); assert_eq!(err.kind(), std::io::ErrorKind::DirectoryNotEmpty); } ``` ```bash XFS_BLOCK=image-xfs truncate -s 512M image-xfs mkfs.xfs -q image-xfs mkdir mnt-xfs sudo mount -o loop image-xfs mnt-xfs sudo chmod 777 mnt-xfs cargo run -- mnt-xfs/ ``` Output: ``` wrote "mnt-xfs/target_directory/target_file.txt" "mnt-xfs/source_directory" -> "mnt-xfs/target_directory" thread 'main' (267220) panicked at src/main.rs:30:5: assertion `left == right` failed left: AlreadyExists right: DirectoryNotEmpty note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` You can run this test directly: ```bash ./x.py --stage 2 test library/std --target x86_64-unknown-linux-gnu -- fs::tests::test_rename_directory_to_non_empty_directory --nocapture ```
rust-timer
added a commit
to rust-lang/rust
that referenced
this pull request
Jun 8, 2026
Rollup merge of #156762 - ferrocene:hoverbear/xfs-test-fix, r=Mark-Simulacrum xfs support in `test_rename_directory_to_non_empty_directory` While running Ferrocene's test suite we use a variety of filesystems, including XFS. Those systems caught a failing test in [a recent upstream pull](ferrocene/ferrocene#2375). The test failing: https://github.com/rust-lang/rust/blob/1ea1171c1e537f295225be1c7b67dba46794e6ad/library/std/src/fs/tests.rs#L2141-L2157 It was recently removed from being Windows-only in: a0298aa#diff-0ec4075fea7f5f4cc82c306e975ae7638b1fc500d30c11a83f337a69ef1dfd65L2177 Seemingly on XFS only, the `AlreadyExists` variant is returned instead. This workaround allows both possible errors. I am unsure at this time if it is a signal of incorrectness in Rust somewhere, but on Python a similar failure can be noted: ```bash ana@autonoma ~/git/ferrocene/scratch ❯ mkdir blap flap ana@autonoma ~/git/ferrocene/scratch ❯ touch flap/zap ana@autonoma ~/git/ferrocene/scratch ❯ python Python 3.13.13 (main, May 15 2026, 12:38:54) [GCC 15.2.1 20260214] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.rename("blap", "flap") Traceback (most recent call last): File "<python-input-3>", line 1, in <module> os.rename("blap", "flap") ~~~~~~~~~^^^^^^^^^^^^^^^^ FileExistsError: [Errno 17] File exists: 'blap' -> 'flap' ana@autonoma ~/git/ferrocene/scratch ❯ cd /tmp/ ana@autonoma /tmp ❯ mkdir blap flap ana@autonoma /tmp ❯ touch flap/zap ana@autonoma /tmp ❯ python Python 3.13.13 (main, May 15 2026, 12:38:54) [GCC 15.2.1 20260214] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.rename("blap", "flap") Traceback (most recent call last): File "<python-input-1>", line 1, in <module> os.rename("blap", "flap") ~~~~~~~~~^^^^^^^^^^^^^^^^ OSError: [Errno 39] Directory not empty: 'blap' -> 'flap' ``` I tested on `ext4`, `tmpfs`, `overlayfs`, `btrfs`, and `xfs`. Only XFS seems to display this error. ## Reproduction On Linux hosts: ```rust use clap::Parser; struct Args { /// Destination to try #[arg()] path: std::path::PathBuf, } fn main() { let args = Args::parse(); // Renaming a directory over a non-empty existing directory should fail. let tmpdir = std::path::Path::new(&args.path); std::fs::create_dir_all(tmpdir).unwrap(); let source_path = tmpdir.join("source_directory"); let target_path = tmpdir.join("target_directory"); std::fs::create_dir(&source_path).unwrap(); std::fs::create_dir(&target_path).unwrap(); let target_path_file = target_path.join("target_file.txt"); std::fs::write(target_path.join("target_file.txt"), b"target hello world").unwrap(); println!("wrote {target_path_file:?}"); println!("{source_path:?} -> {target_path:?}"); let err = std::fs::rename(source_path, target_path).unwrap_err(); assert_eq!(err.kind(), std::io::ErrorKind::DirectoryNotEmpty); } ``` ```bash XFS_BLOCK=image-xfs truncate -s 512M image-xfs mkfs.xfs -q image-xfs mkdir mnt-xfs sudo mount -o loop image-xfs mnt-xfs sudo chmod 777 mnt-xfs cargo run -- mnt-xfs/ ``` Output: ``` wrote "mnt-xfs/target_directory/target_file.txt" "mnt-xfs/source_directory" -> "mnt-xfs/target_directory" thread 'main' (267220) panicked at src/main.rs:30:5: assertion `left == right` failed left: AlreadyExists right: DirectoryNotEmpty note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` You can run this test directly: ```bash ./x.py --stage 2 test library/std --target x86_64-unknown-linux-gnu -- fs::tests::test_rename_directory_to_non_empty_directory --nocapture ```
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR pulls the following changes from the upstream repository:
156559: Rollup of 7 pull requests156540: usederef_patternsinrustdocinstead ofbox_patterns156539: AddChildExt::kill_process_group156413: rustdoc: Correctness & perf improvements to link-to-definition156260: test: suppress deprecation warning156500: Privacy: move macros handling to early stage156344: Do not index past end of buffer when checking heuristic in error index syntax highlighter156552: Clippy subtree update138995: Split the node_id_to_def_id table into a per-owner table156546: Rollup of 4 pull requests156543: Update rustbook dependencies to remove windows-targets dependency156536:reveal_actual_levelimprovements156425: Fix unused assignments in diverging branches155815: Add Swift function call ABI156535: Rollup of 5 pull requests156325: Don't treat const param default as projection156524: Remove the dummyPreCodegenmir-opt pass, and useruntime-optimizedinstead156513: miri subtree update156504: bootstrap: remap windows-style OUT_DIR paths156472: Add support for Zprint-codegen-stats-json156224: Unnormalized migration: assert_fully_normalized, struct_tail, andfield.ty156506: Rollup of 6 pull requests156502: Give an example of a Ctor in the doc-comments156284: resolve: Fix a false positive "cannot reexport" error for ambiguous glob sets156145: Move tests cast156431: Movestd::io::utiltocore::io156428: Movestd::io::Cursortocore::io156287: move more compiler crates away frombox_patterns156483: Rollup of 4 pull requests156479: fix missing space in Rc::decrement_strong_count docs154918: Fix elided lifetime resolution & trait object lifetime defaulting for enum variant paths156393: enable more f16/f128 tests in Miri154754: Add Enzyme to build-manifest and rustup155887: -Zassumptions-on-binders156473: Rollup of 11 pull requests156466: RefactorCheckAttrVisitorso rustfmt can format it.156462: LLVM 23: Accept float (instead of hex) literals in codegen tests156461: LLVM 23: Specifyreturnaddressintrinsic return type156442: Show intrinsics::gpu in docs156022: rustdoc: Fix cosmetic issues when reporting unresolved paths inbroken_intra_doc_links155184: Have arrays'drop_gluejust unsize and call the slice version155169: jsondoclint: simplify code using idiomatic Rust147672: LLBC-linker: Do not strip debug symbols for the nvptx target anymore156429: Simplifyintrinsic::raw_eqin MIR when possible155023: Introduce move expressions (move($expr))156448: miri subtree update156441: Rollup of 13 pull requests156426: Fix unwanted "Available on XX-bit only" in libcore integers156411: bootstrap: Don't panic onx install --set build.extended=true156392: Improve doc comments for f32::ceil() and f32::floor()156384: Remove some dead code for dumping MIR for a single DefId156372: remove allows_weak_linkage target spec flag156282: Updatesysinfoversion to0.39.0155946: Refuse to push changes with a dirty git client156406: resolve: Module-related refactorings156375: kernel_copy tests: properly join background threads156147: Update ICU4X to 2.2156389: prepare fs tests for miri156357: tests: ip*_properties: avoid parsing the IP over and over again156437:rust-analyzersubtree update153975: remove forever-deprecated and hiddenf64methods156405: Rollup of 10 pull requests156368: Fix invalid unreachable in is_known_valid_scrutinee for Reborrow156365: stream_send_recv_stress tests: wait for threads to finish156192: core: Replaceptr::slice_from_raw_partswithslice::from_raw_parts156129: compiletest: Migrate fromPassMode/FailModetoPassFailMode156387: std fs tests: avoid matching on OS-provided error string156323: Handle --print=backend-has-mnemonic in cg_clif155982: Fix closure HIR span context mismatch155679: rustdoc: Reify emission types154972: Implementcore::arch::return_addressand tests156394: miri subtree update144537: AddDrop::pin_dropfor pinned drops156185: resolve: Evaluate private visibilities eagerly in eff vis computation156378: Rollup of 11 pull requests156363:rustc_attr_parsing: addAcceptContext::expect_string_literal156133: mark some panicking methods around Duration as track_caller156107: remove turbofish notation + use None / Some instead of Option:: (in match documentation)155817: validate#[link_name = "..."]&#[link(name = "...")]parameters155515: error on emptyexport_name155188: Add regression test for issue 144329156169: ChangeSwitchInthandling in dataflow analysis.156006: Update a bunch of bootstrap dependencies to remove windows-target155970: Add mention of sendfile(2) and splice(2) to fs::copy() documentation.155705: Addstr::word_to_titlecase()toalloc149362: Add Command::get_resolved_envs148214: ConsiderResult<T, Uninhabited>andControlFlow<Uninhabited, T>to be equivalent toTfor must use lint155321:BufWriter: Make the soundness ofBorrowedBufusage clearer.156361: Rollup of 5 pull requests156353: resolve: Set correct parent and expansion forselfdeclarations156235: fix: Guard SizeSkeleton::compute against stack overflow156124: Make stable hashing names consistent (part 2)156359: usecfg_select!in integer{to, from}_{le, be}156354: Update example code ofstd::array::from_fn156351: Update cargo submodule156297: Implement some trait for next solver's lang item enums156341: Rollup of 5 pull requests156337: rustc-dev-guide subtree update156333: Avoid invalid spans in dotdotdot rest pattern suggestions156306: Move tests consts156244: fix incorrect suggestions in private import diagnostic156141: Resolve some cases of #132279 by using the right typing mode in the next solver156324: Rollup of 4 pull requests156301: Avoid ICE when suggesting as_ref for ill-typed closure receivers156291: Treat MSVC "performing full link" message as informational156038: turncompute_goal_fast_pathinto a single match156246: Introduce aRerunNonErasederror type mirroringNoSolution, to better track when we're bailing