Update cargo submodule
11 commits in e84cb639edfea2c42efd563b72a9be0cc5de6523..888f675344eb1cf2308fd53183e667bdd2c58e51
2026-03-21 01:27:07 +0000 to 2026-03-30 16:59:25 +0000
- chore: bump to curl-sys@0.4.87 (rust-lang/cargo#16808)
- fix(resolver): Better match rustc in error styling (rust-lang/cargo#16795)
- missing -Zjson-target-spec error: mention that this is a cargo flag (rust-lang/cargo#16793)
- Update changelog for 1.94.1 (rust-lang/cargo#16789)
- test(build): Make it easier to review `build.warnings` behavior (rust-lang/cargo#16788)
- test(build): Cover more behavior of `build.warnings` (rust-lang/cargo#16785)
- chore(deps): bump curl-sys from 0.4.83 to 0.4.86 (rust-lang/cargo#16786)
- Warn when installing with a non-default toolchain (rust-lang/cargo#16131)
- feat(cli): Add support for completing `--config` argument values with `native-completions` (rust-lang/cargo#16249)
- feat(cli): complete `--config` and `--color` before command (rust-lang/cargo#16780)
- chore(deps): bump rustls-webpki from 0.103.9 to 0.103.10 (rust-lang/cargo#16778)
Rollup of 4 pull requests
Successful merges:
- rust-lang/rust#154548 (Add regression test for TransmuteFrom ICE with min_generic_const_args)
- rust-lang/rust#154563 (Point at binop lhs and rhs when expression is multiline)
- rust-lang/rust#154564 (Tweak wording of E0275 WF errors)
- rust-lang/rust#154566 (loongarch: use "_mcount" as the default mcount symbol)
loongarch: use "_mcount" as the default mcount symbol
Set the `mcount` field to "_mcount" for all LoongArch targets to match Clang/GCC behavior [1]. This fixes linking failures when using `-Z instrument-mcount`, where the runtime expects "_mcount" instead of "mcount".
[1] https://github.com/llvm/llvm-project/blob/main/clang/lib/Basic/Targets/LoongArch.h#L60
Tweak wording of E0275 WF errors
Modify the main error message to read better:
```
error[E0275]: overflow evaluating whether `&'a mut Bar` is well-formed
```
Add regression test for TransmuteFrom ICE with min_generic_const_args
Regression test for rust-lang/rust#150457.
The wfcheck ICE with TransmuteFrom + min_generic_const_args was fixed by rust-lang/rust#150707 but didn't get a test.
Closesrust-lang/rust#150457
[perf] Revert FastISel patch
This caused a significant compile-time regression for debug builds.
There is another change (https://github.com/llvm/llvm-project/pull/186723) that mitigates that regression, but not fully. Revert it for now.
update zulip link in `std` documentation
#docs doesn't seem to exist anymore, so point people to `t-libs`. Also include direct link to topic since Zulip is world-viewable now.
Fix ambiguous parsing in bootstrap.py
Noticed this while trying to produce rustdoc-json for std and saw JSON output from the bootstrap.py build of bootstrap's Rust code. This is technically a breaking change, but I think the fix should be simple and arguably an improvement in future compatibility if/when the flag set changes.
Add `IoSplit` diagnostic item for `std::io::Split`
Similar to the existing `IoLines` item. It will be used in Clippy to detect uses of `Split` leading to infinite loops similar to the existing lint for `Lines`.
feat: reimplement `hash_map!` macro
originally implemented in rust-lang/rust#144070, this had to be reverted in rust-lang/rust#148049 due to name ambiguity, as the macro was automatically put into the prelude. now, that rust-lang/rust#139493 has landed, it is possible to have a top-level macro, that is not exported by default, which should make it possible to reland this again.
implements rust-lang/rust#144032
implementation from rust-lang/rust#144070, original author has been added as co-author
effectively reverts rust-lang/rust#148049
Add regression test for recursive lazy type alias normalization ICE
Regression test for rust-lang/rust#152633.
The normalization ICE with recursive lazy_type_alias + min_generic_const_args was fixed by rust-lang/rust#152040 but didn't get a test. Compiler now reports E0275 instead of crashing.
Closesrust-lang/rust#152633
Make typeck a tcx method which calls typeck_root query
Currently typeck query itself calls `tcx.typeck(tcx.typeck_root_def_id(key))` if its key isn't a type-check root. I thought this might be an overhead and made typeck a tcx method which calls typeck_root query instead.
This is a step to simplify `cache_on_disk_if` query modifier.
@petrochenkov please run perf
Rollup of 4 pull requests
Successful merges:
- rust-lang/rust#153632 (Fix Vec::const_make_global for 0 capacity and ZST's)
- rust-lang/rust#154190 (Don't fuse in `MapWindows`)
- rust-lang/rust#154512 (Constify comparisons and `Clone` for `core::mem::Alignment`)
- rust-lang/rust#154520 (Add doc links to `ExtractIf` of `BTree{Set,Map}` and `LinkedList`)
Add doc links to `ExtractIf` of `BTree{Set,Map}` and `LinkedList`
There were links for `Hash{Set,Map}` and `Vec{,Deque}` versions, but not these three.
Don't fuse in `MapWindows`
cc https://github.com/rust-lang/rust/issues/87155
Fusing makes the iterator larger, slower, more complicated, and less useful. Users who need fusing behavior can always use `.fuse()`, but there is no way to get non-fusing behavior from the fused version.
@rustbot label A-iterators
Example
---
```rust
fn main() {
let y = match 0 {
0 |$0 => { 1i32 }
1 => { 2i32 }
};
}
```
**Before this PR**
Panic on apply
**After this PR**
Assist not applicable
Notify stdarch maintainers on changes in std_detect
cc @Amanieu @folkertdev @Kobzol
It would be nice to be notified when std_detect changes, as it is spiritually a part of stdarch.
Also assign @rust-lang/libs to std_detect
move many tests from `structs-enums` to `structs` or `enum`
This PR moves most of the tests in `ui/structs-enums` that are only about structs or only about enums to their respective directory, as a step towards removing `ui/structs-enums`.
Followup to rust-lang/rust#154131.
r? @Kivooeo
Fix ice in rustdoc of private reexport
Fixesrust-lang/rust#154383
The root cause is rustdoc could still try to resolve links for source docs that resolver did not cache in `ResolveDocLinks::Exported` mode. The test case will not crash with `--document-private-items` option, which will use `ResolveDocLinks::All`.
The fix makes rustdoc skip link resolution based on the source `DefId` of each doc fragment, so its behavior stays aligned with resolver's logic here: https://github.com/chenyukang/rust/blob/dc5cb1719eed6ac9275fe93d914d32141606b2ac/compiler/rustc_resolve/src/late.rs#L685