Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
341 commits
Select commit Hold shift + click to select a range
e54bd48
Compute layout for pattern types
ChayimFriedman2 May 15, 2026
e240d8e
fix: no use sad pattern on happy arm with guard
A4-Tacks May 15, 2026
0224412
Implement aarch64 AES LLVM intrinsics
CathalMullan May 6, 2026
ac09e49
Implement aarch64 SHA-256 LLVM intrinsics
CathalMullan May 14, 2026
cd848fb
Implement aarch64 PMULL LLVM intrinsics
CathalMullan May 14, 2026
f26c70e
Enable `graviola` tests on aarch64
CathalMullan May 14, 2026
df37dde
method-resolution: emit error for method calls with illegal Sized b…
MavenRain May 15, 2026
11d0de3
Merge pull request #22372 from MavenRain/fix-illegal-sized-bound
ChayimFriedman2 May 15, 2026
cb0bb00
Migrate inline_call assist to SyntaxFactory
lukasmatta May 15, 2026
1b81d40
fix: not complete same name inherent deref methods
A4-Tacks May 16, 2026
3819dbf
feat: add diagnostic for E0614
WaterWhisperer May 16, 2026
dea77b5
Merge pull request #22380 from WaterWhisperer/diag-E0614
ChayimFriedman2 May 16, 2026
1f32a7a
Merge pull request #22368 from ChayimFriedman2/pat-ty
ChayimFriedman2 May 16, 2026
459d1ed
Revert "decide not to resolve a FIXME"
ada4a May 16, 2026
c53984d
feat(ide-diagnostics): add handler for functional record update in de…
ada4a Apr 28, 2026
9ffe496
Merge pull request #22352 from lukasmatta/migrate-inline-call-syntax-…
ChayimFriedman2 May 16, 2026
cae8643
Merge pull request #22379 from ada4a/diag-fru-in-destructuring-assign…
lnicola May 16, 2026
61d77ca
Show `unsafe` in the signature help if applicable
SomeoneToIgnore May 16, 2026
3a44312
Merge pull request #22381 from SomeoneToIgnore/unsafe-signature
ChayimFriedman2 May 16, 2026
cf94374
misc improvements
ada4a Apr 30, 2026
0db8553
internal: update generated lints
workflows-rust-analyzer[bot] May 17, 2026
cc9e6e7
Have a specific error for unimplemented builtin macros
ChayimFriedman2 May 17, 2026
41b1abe
Handle TyKind::{Pat,UnsafeBinder} in has_drop_glue
DaniPopes May 17, 2026
3a6792b
Merge pull request #22384 from DaniPopes/never-drop-glue
ChayimFriedman2 May 17, 2026
4e1b8c9
Do not mark enum variants as assoc items in symbol table
ChayimFriedman2 May 17, 2026
d1568f0
Include enum variants in the import map
ChayimFriedman2 May 17, 2026
aebaad5
fix: no complete module colons before exists colons
A4-Tacks May 17, 2026
d1b5f66
Fix deref iterate order and multiple private in derefs
A4-Tacks May 17, 2026
0c8234e
Merge pull request #22386 from A4-Tacks/no-colon-before-colon
ChayimFriedman2 May 17, 2026
504ee8b
Merge pull request #22376 from A4-Tacks/method-hide-same-name
ChayimFriedman2 May 17, 2026
edf0804
Merge pull request #22382 from rust-lang/ci/gen-lints
lnicola May 17, 2026
102b1a8
Prepare for merging from rust-lang/rust
lnicola May 17, 2026
7574278
Merge ref 'ba0949ab7459' from rust-lang/rust
lnicola May 17, 2026
b5d2a9e
Merge pull request #22389 from lnicola/sync-from-rust
lnicola May 17, 2026
4053e24
Ignore workspace/diagnostic/refresh in slow tests
lnicola May 17, 2026
74a6981
Merge pull request #22391 from lnicola/ignore-diagnostics-refresh
ChayimFriedman2 May 17, 2026
2ce2758
Merge pull request #22367 from A4-Tacks/ref-match-only-value
ChayimFriedman2 May 17, 2026
71565e6
feat(diagnostics): add handler for E0040
ada4a Apr 30, 2026
bbf6de7
Merge pull request #22378 from ada4a/e0040
ChayimFriedman2 May 17, 2026
b2c2e6f
Support named consts in range pattern types
ChayimFriedman2 May 17, 2026
42e5f53
Do not consider the path of the macro in a macro call to be inside a …
ChayimFriedman2 May 18, 2026
f5dc299
fix: complete ref_match in macro
A4-Tacks May 17, 2026
23bd200
Merge pull request #22399 from A4-Tacks/ref-match-in-macro-call
ChayimFriedman2 May 18, 2026
a1e3a46
feat: add diagnostic for E0608
WaterWhisperer May 19, 2026
ce96d6e
fix: remove lang-item guard and update test
WaterWhisperer May 19, 2026
abcce8e
Merge pull request #22404 from WaterWhisperer/diag-E0608
ChayimFriedman2 May 19, 2026
0d1fe7e
resolve merge conflicts
hallmason17 May 19, 2026
766bc0d
remove unneeded test feature
hallmason17 May 19, 2026
4a11664
clearer diagnostic message, fix formatting
hallmason17 May 19, 2026
01392a2
Merge pull request #22406 from hallmason17/feature/mut_ref_binding
ChayimFriedman2 May 19, 2026
e5db923
Merge pull request #22397 from ChayimFriedman2/mac-call-path
A4-Tacks May 19, 2026
6d31099
Merge pull request #22322 from ChayimFriedman2/module-inc
Veykril May 20, 2026
8cebbb6
fix: do not complete semicolon in match-expr place
A4-Tacks May 20, 2026
8ec5e94
Merge pull request #22385 from ChayimFriedman2/import-variant
Veykril May 20, 2026
f61dcdd
Do not autoref in method probe in path mode
ChayimFriedman2 May 17, 2026
bf434ef
Merge pull request #22392 from ChayimFriedman2/path-probe-autoref
ChayimFriedman2 May 20, 2026
ed8a73b
Merge pull request #22369 from A4-Tacks/iflet-with-match-happy-with-g…
ChayimFriedman2 May 20, 2026
08c6f71
Merge pull request #22408 from A4-Tacks/no-semi-match-expr
ChayimFriedman2 May 20, 2026
ee7196d
allow wildcard params in foreign fn declarations
youngspe May 21, 2026
c70dad7
feat: completions imports exclude supports sub items
A4-Tacks May 20, 2026
db47597
inline collect_pat_top
youngspe May 21, 2026
2800da7
Add format! call to print repo in error
itsjunetime May 21, 2026
ded1572
fix: use grouped annotation for add_label_to_loop
A4-Tacks May 22, 2026
e1c240a
Merge pull request #22418 from itsjunetime/add_fmt_to_err_context
A4-Tacks May 22, 2026
1bdb0ec
Merge pull request #22383 from ChayimFriedman2/unimplemented-builtin
Veykril May 22, 2026
d858f8e
Merge pull request #22396 from ChayimFriedman2/pat-ty-const
Veykril May 22, 2026
d1a1ffd
Emit diagnostic for rest array patterns without fixed-length arrays
Abusalah0 May 22, 2026
c309395
Remove redundant rename
A4-Tacks May 23, 2026
57aa060
fix: normalize expected tuple struct pat field
A4-Tacks May 23, 2026
bb63b77
fix(cfg): correct separator index in CfgDiff disable loop
shulaoda May 23, 2026
e61601c
fix(test-utils): drain inactive_regions by inactive_line_region
shulaoda May 23, 2026
13e4b71
Merge pull request #22425 from A4-Tacks/expected-tuple-normalize-ty
flodiebold May 23, 2026
0bcb7c0
Merge pull request #22424 from Abusalah0/diag-array-pattern-without-f…
lnicola May 23, 2026
a64445a
Merge pull request #22419 from A4-Tacks/add-loop-label-group
lnicola May 23, 2026
e8ae147
Actually ignore workspace/diagnostic/refresh
lnicola May 23, 2026
5f79040
fix(hir-ty): saturate float-to-uint cast in const eval
shulaoda May 23, 2026
60401bc
Merge pull request #22430 from shulaoda/05-23-fix_hir-ty_saturate_flo…
lnicola May 23, 2026
b9dae9f
Filter package-scoped features
mkeeter May 23, 2026
50cee51
Merge pull request #22428 from lnicola/slow-tests-diagnostics-take-2
ChayimFriedman2 May 23, 2026
7ab5409
Merge pull request #22415 from youngspe/extern-wildcard-param
ChayimFriedman2 May 23, 2026
7205364
Make `trait_environment()` take `GenericDefId` and not `ExpressionSto…
ChayimFriedman2 May 1, 2026
1775ddc
Refactor handling of generic params in `hir::Type`
ChayimFriedman2 May 3, 2026
f91506d
Merge pull request #22252 from ChayimFriedman2/hir-types
ChayimFriedman2 May 23, 2026
d0af86a
Merge pull request #22432 from mkeeter/package-feature-scope
ChayimFriedman2 May 23, 2026
d607c56
internal: update generated lints
workflows-rust-analyzer[bot] May 24, 2026
0f40f8b
Revert is_exclude_flyimport condition changes
A4-Tacks May 21, 2026
403e1ff
Add nested modules doc and fix typo
A4-Tacks May 24, 2026
456a1ac
fix: no suggest ref match when expected generic ref
A4-Tacks May 20, 2026
4b55abc
Merge pull request #22436 from rust-lang/ci/gen-lints
lnicola May 24, 2026
c787753
Rename test highlight not exclude module it self
A4-Tacks May 24, 2026
3222171
fix: add import for function-like macros in extract_module assist
Albab-Hasan May 24, 2026
6fa4220
Merge pull request #22416 from A4-Tacks/exclude-module-items
ChayimFriedman2 May 24, 2026
697ea43
Cleanup bidirection proc-macro-srv protocol a bit
Veykril May 22, 2026
986b5d3
Merge pull request #22420 from Veykril/veykril/push-vpqmplstnrxx
Veykril May 24, 2026
9446d0d
Update to Cranelift 0.132
bjorn3 May 24, 2026
3b177d6
Rustup to rustc 1.98.0-nightly (23a3312d9 2026-05-23)
bjorn3 May 24, 2026
b798116
Merge pull request #1654 from CathalMullan/graviola-aarch64
bjorn3 May 24, 2026
8719de9
fix: Fix `SyntaxContext::root`s technically overlapping valid interneds
Veykril Feb 2, 2026
67b6172
Merge pull request #21566 from Veykril/push-rvmyysvknmyk
Veykril May 25, 2026
84ad9dc
Merge pull request #22437 from Albab-Hasan/extract-module-macro-import
Veykril May 25, 2026
a8f0bc6
Merge pull request #22426 from shulaoda/05-23-fix_cfg_correct_separat…
Veykril May 25, 2026
e96c4ce
Merge pull request #22427 from shulaoda/05-23-fix_test-utils_drain_in…
Veykril May 25, 2026
2267c11
fix: Fix extract variable in token tree replace range
A4-Tacks May 25, 2026
10821c2
fix: analysis expected ty in enum variant
A4-Tacks May 25, 2026
2e1fd86
fix: flip coerce_never type_mismatch tys
A4-Tacks May 25, 2026
7e47226
Merge pull request #22451 from A4-Tacks/type-mismatch-flip
ChayimFriedman2 May 25, 2026
91dab6c
Merge pull request #22409 from A4-Tacks/no-suggest-ref-generic-ref
ChayimFriedman2 May 25, 2026
d4a3643
minor: no suggest ref match for unit type
A4-Tacks May 25, 2026
aba3211
Merge pull request #22453 from A4-Tacks/no-ref-match-unit
ChayimFriedman2 May 25, 2026
a2a3be2
Add a fixme comment
A4-Tacks May 25, 2026
23ef545
Merge pull request #22449 from A4-Tacks/expect-enum-struct-pat-ty
A4-Tacks May 25, 2026
4f1c8b3
fix: Add type_match score for struct_pat
A4-Tacks May 25, 2026
6d337b9
Merge pull request #22452 from A4-Tacks/pattern-score
ChayimFriedman2 May 25, 2026
b5d6c33
feat: add diagnostic for E0033
WaterWhisperer May 20, 2026
88364c4
Merge pull request #22411 from WaterWhisperer/diag-E0033
ChayimFriedman2 May 26, 2026
cf8235c
misc improvements
ada4a Apr 30, 2026
eb46510
fix(assists/add_reference_here): _modify_ the reference type when dea…
ada4a Apr 9, 2026
268293b
switch to text-based edit
ada4a May 11, 2026
68af99a
Merge pull request #22342 from ada4a/13047-ref-t-to-refmut-t
Veykril May 26, 2026
626d1ab
Add `char::to_casefold()`
Jules-Bertholet Apr 2, 2026
21a57cb
Add `str::to_casefold()`
Jules-Bertholet Apr 3, 2026
6584161
Add `str::eq_ignore_case()`
Jules-Bertholet Apr 3, 2026
db01ed4
Address review comments
Jules-Bertholet Apr 18, 2026
274ddfa
Fix doctest
Jules-Bertholet Apr 18, 2026
ee40444
Postfix method names with `_unnormalized`
Jules-Bertholet May 27, 2026
da14011
Add tracking issue
Jules-Bertholet May 27, 2026
1f0c9a0
internal: Improve syntax mapping in for loop desugaring
Veykril May 27, 2026
482a1b4
Merge pull request #22465 from Veykril/push-loxpxnnrkruk
Veykril May 27, 2026
71297e6
MIR inlining: allow backends to opt-in to inlining intrinsics
RalfJung May 10, 2026
a4bff5f
fix: no complete functional update in non last
A4-Tacks May 28, 2026
694fa4b
Allow two object files for a single CGU in CompiledModule
bjorn3 May 27, 2026
2e41d53
use editor make in derive_macro
Shourya742 May 28, 2026
fa6c05d
use editor make in edits
Shourya742 May 28, 2026
de0e7b3
Merge pull request #22477 from Shourya742/2026-05-28-remove-make-cons…
ChayimFriedman2 May 28, 2026
cec1e06
Fix Clippy 1.96.0
ChayimFriedman2 May 28, 2026
5037fbc
Merge pull request #22480 from ChayimFriedman2/fix-clippy
ChayimFriedman2 May 28, 2026
e0cf072
Port block and loop inference from rustc
ChayimFriedman2 May 7, 2026
fa6ab77
Improve detection of diverging expressions
ChayimFriedman2 May 27, 2026
fbdd7e2
Merge pull request #22473 from ChayimFriedman2/labelled-break
ChayimFriedman2 May 28, 2026
a775005
Merge pull request #22476 from A4-Tacks/no-func-update-before-field
ChayimFriedman2 May 29, 2026
95c5de0
Add lifetime_param to syntaxFactory
Shourya742 May 29, 2026
d7dc411
remove make constructor from rename
Shourya742 May 29, 2026
e452c62
remove make from prettify_macro_expansion and add factory to dollar_c…
Shourya742 May 29, 2026
b7e2806
Stop needing an alloca for `catch_unwind`
scottmcm May 23, 2026
64c4a41
Merge pull request #22484 from Shourya742/2026-05-29-remove-make-from…
ChayimFriedman2 May 29, 2026
370fd86
Merge pull request #22447 from A4-Tacks/extract-var-in-macro-rep-ins
ChayimFriedman2 May 29, 2026
3428640
Rollup merge of #156867 - scottmcm:WIP-no-alloca-for-catch-unwind, r=…
JonathanBrouwer May 29, 2026
e0c85c2
Intern MIR projections using the new ty interning infrastructure
flodiebold Dec 2, 2025
75ab156
Merge pull request #22474 from flodiebold/intern-mir-projections
flodiebold May 29, 2026
b84dc32
Implement aarch64 SQDMULH LLVM intrinsics
CathalMullan May 29, 2026
9b4b659
compiler: `ops::RangeInclusive` → `range::RangeInclusive`
scottmcm May 30, 2026
5c9c7c3
internal: Make `MemDocs` cheap to clone for snapshotting
Veykril May 30, 2026
add64c4
Better release builds with more debug info
Veykril May 30, 2026
844964a
Merge pull request #22493 from Veykril/push-spvolvvvusxu
Veykril May 30, 2026
50901dd
Merge pull request #22492 from Veykril/push-onsxmumorqlz
Veykril May 30, 2026
56d26b3
Rollup merge of #157051 - bjorn3:lto_refactors20, r=saethlin
JonathanBrouwer May 30, 2026
8643006
Rollup merge of #157139 - scottmcm:abi-range-inclusive, r=oli-obk
JonathanBrouwer May 30, 2026
76cee22
minor: Fix garbage collection running too frequently
Veykril May 30, 2026
e76b8cf
Merge pull request #22494 from Veykril/push-ozktuvyllzpx
Veykril May 30, 2026
1bc3e5a
ci: update download-artifact action to v8
xtqqczze May 30, 2026
9b544b7
Also consider library features internal
ChayimFriedman2 May 30, 2026
b0e633f
Merge pull request #22498 from ChayimFriedman2/libs-internal-feat
ChayimFriedman2 May 30, 2026
2c2d90a
internal: update generated lints
workflows-rust-analyzer[bot] May 31, 2026
60676c8
Merge pull request #22499 from rust-lang/ci/gen-lints
lnicola May 31, 2026
00ecc6e
Always use crates from sysroot in proc-macro-srv
bjorn3 May 31, 2026
5a22cb9
Remove outdated comment
bjorn3 May 31, 2026
7419223
Merge pull request #22500 from bjorn3/proc-macro-srv_sysroot_crates
Veykril May 31, 2026
3d68072
Remove async_fut.
cjgillot May 16, 2026
abc0c86
Fix proc-macro-srv CI job depending on salsa
Veykril May 31, 2026
9926218
Merge pull request #22501 from Veykril/veykril/push-mzzzxorknrxr
Veykril May 31, 2026
55e1f1e
Revert "Merge pull request rust-lang/rust-analyzer#22492 from Veykril…
lnicola May 31, 2026
897c3d1
Merge pull request #22502 from lnicola/less-debug
ChayimFriedman2 May 31, 2026
1ec2ee9
Use `ascii::Char` in `convert_while_ascii`
Jules-Bertholet May 31, 2026
ee7f3dd
Document `to_casefold` debug assertions
Jules-Bertholet May 31, 2026
e182874
Try to improve completion ranking
ChayimFriedman2 May 31, 2026
c4ab4a5
fix: use add deref in assign instead add `&mut` for value
A4-Tacks May 26, 2026
f2baaff
Add missing early return
A4-Tacks May 27, 2026
5ffa3d4
Remove redundant filter
A4-Tacks May 31, 2026
e04ef6b
Enable salsa feature for syntax-bridge
Veykril Jun 1, 2026
1582b39
Merge pull request #22504 from Veykril/veykril/push-yuuqyxytkkno
Veykril Jun 1, 2026
c274353
Merge pull request #22503 from ChayimFriedman2/lower-variant
Veykril Jun 1, 2026
2035cde
Kill proc-macro-srv processes on shutdown
Veykril Jun 1, 2026
0c8788b
Merge pull request #22506 from Veykril/push-snorzkqtonqz
Veykril Jun 1, 2026
08b5b88
Merge pull request #22457 from A4-Tacks/add-deref-assign
A4-Tacks Jun 1, 2026
dab3956
Use a `ArrayVec` in `CastTarget`
alexcrichton May 29, 2026
10f9f14
Build a fully-applied trait ref in method-not-found suggestion
Dnreikronos Jun 1, 2026
7a16714
Rollup merge of #157130 - alexcrichton:refactor-cast-target-internals…
JonathanBrouwer Jun 2, 2026
e6d5e95
Revert "Use `ascii::Char` in `convert_while_ascii`"
Jules-Bertholet Jun 2, 2026
9d7cdfe
Sync from rust d595fce01043347bf7f80e85b76dcc41b59a3e6e
bjorn3 Jun 3, 2026
94ec971
Rustup to rustc 1.98.0-nightly (d595fce01 2026-06-02)
bjorn3 Jun 3, 2026
9479f9e
Fix rustc test suite
bjorn3 Jun 3, 2026
53cca10
Merge pull request #1657 from CathalMullan/sqdmulh
bjorn3 Jun 3, 2026
a195e46
Merge pull request #1658 from xtqqczze/patch-1
bjorn3 Jun 3, 2026
0f08db0
Implement aarch64 SADDLP/UADDLP LLVM intrinsics
CathalMullan May 30, 2026
a78a540
Merge pull request #1660 from CathalMullan/uaddlp
bjorn3 Jun 3, 2026
db13562
resolve deprecated note links separately from doc comments
TaKO8Ki Jun 3, 2026
a08267c
Re-enable std_example jit test
bjorn3 Jun 4, 2026
4d581d6
Fix warning
bjorn3 Jun 4, 2026
4919940
Revert "LLVM 23: Run AssignGUIDPass in some places"
zmodem Jun 3, 2026
0bd62d4
Debug assert that parsed attributes are in the `BUILTIN_ATTRIBUTE_MAP`
JonathanBrouwer Jun 5, 2026
20479b7
thread spawn hooks: rename `run` to make it clear that it also handle…
RalfJung Jun 5, 2026
7602e3f
thread_loca::guard: make the `enable` contract more explicit
RalfJung Jun 5, 2026
97b5f45
windows LazyKey: fix enabling the guard on all relevant threads
RalfJung Jun 5, 2026
7d5a8bb
disable fiber test on Miri
RalfJung Jun 5, 2026
d047870
Test accessing a thread local in a different thread when loading a cd…
ohadravid Jun 5, 2026
f25f4b4
compiletest: inject `#![windows_subsystem = "windows"]` to debuginfo …
jieyouxu Jun 5, 2026
36742d8
Convert `QueryRegionConstraint` into a struct
Human9000-bit Jun 5, 2026
4e59f4c
add `extern "tail"` calling convention
folkertdev May 27, 2026
b58125b
remove solaris implementation for File::lock, it has the wrong semantics
RalfJung Jun 5, 2026
353aa6d
use cfg_select for unix file lock implementations
RalfJung Jun 5, 2026
ce94e80
Rename `SyncView::{as_pin => as_pin_ref}`
pthariensflame Jun 6, 2026
b064718
std tests: skip a slow test on Miri
RalfJung Jun 6, 2026
c6d3e63
Make sure in-rust-tree activates sysroot-abi for proc-macro-api
bjorn3 Jun 6, 2026
7583ec5
Rustup to rustc 1.98.0-nightly (8954863c8 2026-06-05)
bjorn3 Jun 6, 2026
fa706d4
Use -Zdisable-incr-comp-backend-caching instead of an env var
bjorn3 Jun 6, 2026
68471f1
Remove output_filenames field from GlobalAsmConfig
bjorn3 Jun 4, 2026
10b981d
Recreate GlobalAsmConfig per CGU
bjorn3 Jun 4, 2026
f780eb5
Extract background half of module_codegen into compile_cgu
bjorn3 Jun 4, 2026
a37ba16
Inline crate::allocator::codegen
bjorn3 Jun 4, 2026
8dd7b5e
Remove ModuleCodegenResult
bjorn3 Jun 4, 2026
83a54e1
Rename profiler var to prof in compile_fn
bjorn3 Jun 4, 2026
738a551
Merge emit_cgu and emit_module
bjorn3 Jun 4, 2026
ff7b47d
Introduce AotModule
bjorn3 Jun 4, 2026
325861a
Rename sysroot-abi feature to in-rust-tree
bjorn3 Jun 6, 2026
e1ccd27
Fix compiling proc-macro-srv tests in check mode
bjorn3 Jun 6, 2026
aa05426
Make LTO a hard error
bjorn3 Jun 6, 2026
917dc00
Switch to the cg_ssa codegen coordinator
bjorn3 Jun 4, 2026
f2ef415
Merge pull request #1662 from rust-lang/use_cg_ssa_driver
bjorn3 Jun 6, 2026
eb31c84
Merge commit 'f2ef4150da1c50e5b04607cdab771530cac4ffe4' into sync_cg_…
bjorn3 Jun 6, 2026
c97c77b
Update tidy allowed deps list
bjorn3 Jun 6, 2026
8386c6d
Rename `rustc_ast_lowering/src/errors.rs` into `rustc_ast_lowering/sr…
GuillaumeGomez Jun 5, 2026
e19cf27
Rename `rustc_ast_passes/src/errors.rs` into `rustc_ast_passes/src/di…
GuillaumeGomez Jun 5, 2026
100b35f
Rename `rustc_builtin_macros/src/errors.rs` into `rustc_builtin_macro…
GuillaumeGomez Jun 5, 2026
70de2f4
Rollup merge of #157251 - lnicola:sync-from-ra, r=lnicola
JonathanBrouwer Jun 6, 2026
126cabb
Rollup merge of #157533 - bjorn3:sync_cg_clif-2026-06-06, r=bjorn3
JonathanBrouwer Jun 6, 2026
448d708
Rollup merge of #154742 - Jules-Bertholet:casefold, r=Mark-Simulacrum
JonathanBrouwer Jun 6, 2026
b746bbb
Rollup merge of #155144 - Zalathar:inter-pat, r=Nadrieril
JonathanBrouwer Jun 6, 2026
ee0d10f
Rollup merge of #157016 - folkertdev:add-tailcc-abi, r=WaffleLapkin
JonathanBrouwer Jun 6, 2026
096990e
Rollup merge of #157264 - Dnreikronos:fix/method-suggest-trait-extra-…
JonathanBrouwer Jun 6, 2026
daa6879
Rollup merge of #157386 - TaKO8Ki:rustdoc-deprecated-note-links-separ…
JonathanBrouwer Jun 6, 2026
d9e42d7
Rollup merge of #157483 - RalfJung:windows-gnu-tls-leak, r=ChrisDenton
JonathanBrouwer Jun 6, 2026
c566ce0
Rollup merge of #157488 - jieyouxu:jieyouxu/fix/windows-subsystem-hac…
JonathanBrouwer Jun 6, 2026
4399e31
Rollup merge of #157509 - RalfJung:solaris-file-locks, r=the8472
JonathanBrouwer Jun 6, 2026
3c3d159
Rollup merge of #157521 - pthariensflame:syncview-as-pin, r=BurntSushi
JonathanBrouwer Jun 6, 2026
06d1015
Rollup merge of #156136 - danieljofficial:move-tests-box, r=Kivooeo
JonathanBrouwer Jun 6, 2026
e8af2c0
Rollup merge of #157365 - zmodem:revert_assign_guids, r=cuviper
JonathanBrouwer Jun 6, 2026
88eda1a
Rollup merge of #157471 - JonathanBrouwer:builtin-map-assertion, r=mejrs
JonathanBrouwer Jun 6, 2026
7242198
Rollup merge of #157485 - GuillaumeGomez:rename-err-to-diag, r=Jonath…
JonathanBrouwer Jun 6, 2026
cc5d686
Rollup merge of #157494 - Human9000-bit:queryregionconstrains-as-stru…
JonathanBrouwer Jun 6, 2026
52921a2
Rollup merge of #157526 - RalfJung:miri-slow, r=JonathanBrouwer
JonathanBrouwer Jun 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6070,6 +6070,7 @@ checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
name = "unicode-table-generator"
version = "0.1.0"
dependencies = [
"rustc-hash 2.1.1",
"ucd-parse",
]

Expand Down
7 changes: 6 additions & 1 deletion compiler/rustc_abi/src/canon_abi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ pub enum CanonAbi {
Rust,
RustCold,
RustPreserveNone,
RustTail,

/// An ABI that rustc does not know how to call or define.
Custom,
Expand Down Expand Up @@ -59,7 +60,10 @@ pub enum CanonAbi {
impl CanonAbi {
pub fn is_rustic_abi(self) -> bool {
match self {
CanonAbi::Rust | CanonAbi::RustCold | CanonAbi::RustPreserveNone => true,
CanonAbi::Rust
| CanonAbi::RustCold
| CanonAbi::RustPreserveNone
| CanonAbi::RustTail => true,
CanonAbi::C
| CanonAbi::Custom
| CanonAbi::Swift
Expand All @@ -81,6 +85,7 @@ impl fmt::Display for CanonAbi {
CanonAbi::Rust => ExternAbi::Rust,
CanonAbi::RustCold => ExternAbi::RustCold,
CanonAbi::RustPreserveNone => ExternAbi::RustPreserveNone,
CanonAbi::RustTail => ExternAbi::RustTail,
CanonAbi::Custom => ExternAbi::Custom,
CanonAbi::Swift => ExternAbi::Swift,
CanonAbi::Arm(arm_call) => match arm_call {
Expand Down
9 changes: 8 additions & 1 deletion compiler/rustc_abi/src/extern_abi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@ pub enum ExternAbi {
/// forcing callers to save all registers.
RustPreserveNone,

/// Ensures that calls in tail position can always be optimized into a jump.
///
/// This ABI is not stable, and relies on LLVM implementation details.
RustTail,

/// Unstable impl detail that directly uses Rust types to describe the ABI to LLVM.
/// Even normally-compatible Rust types can become ABI-incompatible with this ABI!
Unadjusted,
Expand Down Expand Up @@ -205,6 +210,7 @@ abi_impls! {
System { unwind: true } =><= "system-unwind",
SysV64 { unwind: false } =><= "sysv64",
SysV64 { unwind: true } =><= "sysv64-unwind",
RustTail =><= "tail",
Thiscall { unwind: false } =><= "thiscall",
Thiscall { unwind: true } =><= "thiscall-unwind",
Unadjusted =><= "unadjusted",
Expand Down Expand Up @@ -280,7 +286,7 @@ impl ExternAbi {
/// - are subject to change between compiler versions
pub fn is_rustic_abi(self) -> bool {
use ExternAbi::*;
matches!(self, Rust | RustCall | RustCold | RustPreserveNone)
matches!(self, Rust | RustCall | RustCold | RustPreserveNone | RustTail)
}

/// Returns whether the ABI supports C variadics. This only controls whether we allow *imports*
Expand Down Expand Up @@ -354,6 +360,7 @@ impl ExternAbi {
| Self::SysV64 { .. }
| Self::Win64 { .. }
| Self::RustPreserveNone
| Self::RustTail
| Self::Swift => true,
}
}
Expand Down
7 changes: 4 additions & 3 deletions compiler/rustc_ast_lowering/src/asm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,17 @@ use rustc_session::errors::feature_err;
use rustc_span::{Span, sym};
use rustc_target::asm;

use super::LoweringContext;
use super::errors::{
use crate::diagnostics::{
AbiSpecifiedMultipleTimes, AttSyntaxOnlyX86, ClobberAbiNotSupported,
InlineAsmUnsupportedTarget, InvalidAbiClobberAbi, InvalidAsmTemplateModifierConst,
InvalidAsmTemplateModifierLabel, InvalidAsmTemplateModifierRegClass,
InvalidAsmTemplateModifierRegClassSub, InvalidAsmTemplateModifierSym, InvalidRegister,
InvalidRegisterClass, RegisterClassOnlyClobber, RegisterClassOnlyClobberStable,
RegisterConflict,
};
use crate::{AllowReturnTypeNotation, ImplTraitContext, ImplTraitPosition, ParamMode};
use crate::{
AllowReturnTypeNotation, ImplTraitContext, ImplTraitPosition, LoweringContext, ParamMode,
};

impl<'hir> LoweringContext<'_, 'hir> {
pub(crate) fn lower_inline_asm(
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_ast_lowering/src/delegation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ use rustc_span::symbol::kw;
use rustc_span::{ErrorGuaranteed, Ident, Span, Symbol};

use crate::delegation::generics::{GenericsGenerationResult, GenericsGenerationResults};
use crate::errors::{
use crate::diagnostics::{
CycleInDelegationSignatureResolution, DelegationAttemptedBlockWithDefsDeletion,
DelegationBlockSpecifiedWhenNoParams, UnresolvedDelegationCallee,
};
Expand Down
16 changes: 8 additions & 8 deletions compiler/rustc_ast_lowering/src/expr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,17 @@ use visit::{Visitor, walk_expr};

mod closure;

use super::errors::{
use crate::diagnostics::{
AsyncCoroutinesNotSupported, AwaitOnlyInAsyncFnAndBlocks,
FunctionalRecordUpdateDestructuringAssignment, InclusiveRangeWithNoEnd, MatchArmWithNoBody,
MoveExprOnlyInPlainClosures, NeverPatternWithBody, NeverPatternWithGuard,
UnderscoreExprLhsAssign,
FunctionalRecordUpdateDestructuringAssignment, InclusiveRangeWithNoEnd,
InvalidLegacyConstGenericArg, MatchArmWithNoBody, MoveExprOnlyInPlainClosures,
NeverPatternWithBody, NeverPatternWithGuard, UnderscoreExprLhsAssign, UseConstGenericArg,
YieldInClosure,
};
use super::{
GenericArgsMode, ImplTraitContext, LoweringContext, ParamMode, ResolverAstLoweringExt,
use crate::{
AllowReturnTypeNotation, GenericArgsMode, ImplTraitContext, ImplTraitPosition, LoweringContext,
ParamMode, ResolverAstLoweringExt, TryBlockScope,
};
use crate::errors::{InvalidLegacyConstGenericArg, UseConstGenericArg, YieldInClosure};
use crate::{AllowReturnTypeNotation, ImplTraitPosition, TryBlockScope};

pub(super) struct WillCreateDefIdsVisitor;

Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_ast_lowering/src/expr/closure.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use rustc_span::Span;

use super::{LoweringContext, MoveExprInitializerFinder, MoveExprState};
use crate::FnDeclKind;
use crate::errors::{ClosureCannotBeStatic, CoroutineTooManyParameters};
use crate::diagnostics::{ClosureCannotBeStatic, CoroutineTooManyParameters};

impl<'hir> LoweringContext<'_, 'hir> {
// Entry point for `ExprKind::Closure`. Plain closures go through
Expand Down
4 changes: 3 additions & 1 deletion compiler/rustc_ast_lowering/src/item.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ use smallvec::{SmallVec, smallvec};
use thin_vec::ThinVec;
use tracing::instrument;

use super::errors::{InvalidAbi, InvalidAbiSuggestion, TupleStructWithDefault, UnionWithDefault};
use super::diagnostics::{
InvalidAbi, InvalidAbiSuggestion, TupleStructWithDefault, UnionWithDefault,
};
use super::stability::{enabled_names, gate_unstable_abi};
use super::{
AstOwner, FnDeclKind, GenericArgsMode, ImplTraitContext, ImplTraitPosition, LoweringContext,
Expand Down
25 changes: 15 additions & 10 deletions compiler/rustc_ast_lowering/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ use smallvec::SmallVec;
use thin_vec::ThinVec;
use tracing::{debug, instrument, trace};

use crate::errors::{AssocTyParentheses, AssocTyParenthesesSub, MisplacedImplTrait};
use crate::diagnostics::{AssocTyParentheses, AssocTyParenthesesSub, MisplacedImplTrait};
use crate::item::Owners;

macro_rules! arena_vec {
Expand All @@ -83,7 +83,7 @@ mod asm;
mod block;
mod contract;
mod delegation;
mod errors;
mod diagnostics;
mod expr;
mod format;
mod index;
Expand Down Expand Up @@ -1145,17 +1145,21 @@ impl<'hir> LoweringContext<'_, 'hir> {
{
let err = match (&data.inputs[..], &data.output) {
([_, ..], FnRetTy::Default(_)) => {
errors::BadReturnTypeNotation::Inputs { span: data.inputs_span }
diagnostics::BadReturnTypeNotation::Inputs {
span: data.inputs_span,
}
}
([], FnRetTy::Default(_)) => {
errors::BadReturnTypeNotation::NeedsDots { span: data.inputs_span }
diagnostics::BadReturnTypeNotation::NeedsDots {
span: data.inputs_span,
}
}
// The case `T: Trait<method(..) -> Ret>` is handled in the parser.
(_, FnRetTy::Ty(ty)) => {
let span = data.inputs_span.shrink_to_hi().to(ty.span);
errors::BadReturnTypeNotation::Output {
diagnostics::BadReturnTypeNotation::Output {
span,
suggestion: errors::RTNSuggestion {
suggestion: diagnostics::RTNSuggestion {
output: span,
input: data.inputs_span,
},
Expand Down Expand Up @@ -1226,7 +1230,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
_ => None,
};

let guar = self.dcx().emit_err(errors::MisplacedAssocTyBinding {
let guar = self.dcx().emit_err(diagnostics::MisplacedAssocTyBinding {
span: constraint.span,
suggestion,
});
Expand Down Expand Up @@ -1529,7 +1533,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
ast::GenericBound::Use(_, span) => Some(span),
_ => None,
}) {
self.tcx.dcx().emit_err(errors::NoPreciseCapturesOnApit { span });
self.tcx.dcx().emit_err(diagnostics::NoPreciseCapturesOnApit { span });
}

let def_id = self.local_def_id(*def_node_id);
Expand Down Expand Up @@ -2123,7 +2127,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
.filter(|_| match source {
hir::GenericParamSource::Generics => true,
hir::GenericParamSource::Binder => {
self.dcx().emit_err(errors::GenericParamDefaultInBinder {
self.dcx().emit_err(diagnostics::GenericParamDefaultInBinder {
span: param.span(),
});

Expand Down Expand Up @@ -2154,7 +2158,8 @@ impl<'hir> LoweringContext<'_, 'hir> {
.filter(|anon_const| match source {
hir::GenericParamSource::Generics => true,
hir::GenericParamSource::Binder => {
let err = errors::GenericParamDefaultInBinder { span: param.span() };
let err =
diagnostics::GenericParamDefaultInBinder { span: param.span() };
if expr::WillCreateDefIdsVisitor
.visit_expr(&anon_const.value)
.is_break()
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_ast_lowering/src/pat.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ use rustc_hir::{self as hir, LangItem, Target};
use rustc_middle::span_bug;
use rustc_span::{DesugaringKind, Ident, Span, Spanned, respan};

use super::errors::{
use crate::diagnostics::{
ArbitraryExpressionInPattern, ExtraDoubleDot, MisplacedDoubleDot, SubTupleBinding,
};
use super::{
use crate::{
AllowReturnTypeNotation, ImplTraitContext, ImplTraitPosition, LoweringContext, ParamMode,
};

Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_ast_lowering/src/path.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ use rustc_span::{BytePos, DUMMY_SP, DesugaringKind, Ident, Span, Symbol, sym};
use smallvec::smallvec;
use tracing::{debug, instrument};

use super::errors::{
use crate::diagnostics::{
AsyncBoundNotOnTrait, AsyncBoundOnlyForFnTraits, BadReturnTypeNotation,
GenericTypeWithParentheses, RTNSuggestion, UseAngleBrackets,
};
use super::{
use crate::{
AllowReturnTypeNotation, GenericArgsCtor, GenericArgsMode, ImplTraitContext, ImplTraitPosition,
LifetimeRes, LoweringContext, ParamMode,
};
Expand Down
3 changes: 3 additions & 0 deletions compiler/rustc_ast_lowering/src/stability.rs
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@ pub fn extern_abi_stability(abi: ExternAbi) -> Result<(), UnstableAbi> {
feature: sym::rust_preserve_none_cc,
explain: GateReason::Experimental,
}),
ExternAbi::RustTail => {
Err(UnstableAbi { abi, feature: sym::rust_tail_cc, explain: GateReason::Experimental })
}
ExternAbi::RustInvalid => {
Err(UnstableAbi { abi, feature: sym::rustc_attrs, explain: GateReason::ImplDetail })
}
Expand Down
Loading
Loading