Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
a2ed73e
Support macros in `#[doc]` attributes in IDE features
ChayimFriedman2 Jul 24, 2026
04b151d
fix: don't panic when a macro expansion contains a lone `'`
shulaoda Jul 26, 2026
1cdee12
Allow specifying the baseline commit for stdlib semver check
Kobzol Jul 30, 2026
4774caa
Handle non-fatal errors from cargo-semver-checks
Kobzol Jul 31, 2026
f6f7f3b
Add CI job for checking stdlib semver compatibility
Kobzol Jul 31, 2026
ea7ad78
fix: bound macro expansion depth across body and block boundaries
rit3sh-x Aug 1, 2026
2f54b38
clean up handling of paths in mgca
khyperia Aug 1, 2026
2da5e60
Addressed @Veykril comments
rit3sh-x Aug 1, 2026
4f1daa7
fix: term_search exclude useless target type
A4-Tacks Aug 1, 2026
b0940ba
Save an allocation in lifetime handling
ChayimFriedman2 Aug 2, 2026
605ac69
Optimised the depth calculation to be cached instead of calculating O…
rit3sh-x Aug 2, 2026
b85a104
bump gen-lsp-types to 0.11.0
bend-n Aug 2, 2026
2436b63
Fix `ExprScopes` handling of exprs inside patterns
ChayimFriedman2 Aug 2, 2026
9ce2cbc
Store the macro depth inside `MacroCallId`
ChayimFriedman2 Aug 3, 2026
9bc6e28
When running `analysis-stats` without `--parallel`, install a single-…
ChayimFriedman2 Aug 3, 2026
09ab893
Merge pull request #23010 from ChayimFriedman2/analysis-stats-no-para…
ChayimFriedman2 Aug 3, 2026
aaed16e
Add `-Zjson-target-spec` on Cargo calls where needed
ChayimFriedman2 Mar 19, 2026
5592cc2
Add a warning to the docs of `InvocationStrategy::Once`
ChayimFriedman2 Aug 3, 2026
240b983
Merge pull request #23012 from ChayimFriedman2/flycheck-once-warning
ChayimFriedman2 Aug 3, 2026
7205098
misc: normalize imports
ada4a Jul 22, 2026
6046060
Merge pull request #21846 from ChayimFriedman2/json-target-spec
ShoyuVanilla Aug 3, 2026
633c327
Merge pull request #23008 from ChayimFriedman2/pat-anon-const-scope
ChayimFriedman2 Aug 3, 2026
e9d8702
chore: update salsa to 0.28.2
ada4a Jul 21, 2026
09f61ad
minor: add tests for `ExprScopes` handling of exprs inside patterns
shulaoda Aug 2, 2026
57de1cf
Merge pull request #23013 from ada4a/salsa-0.28
Veykril Aug 3, 2026
2c0b080
fix: exclude unknown types from term search
so1ve Aug 3, 2026
69862fe
test: cover unknown type filtering in term search
so1ve Aug 3, 2026
45eed64
fix: resolve assignment lhs in its expression scope
so1ve Aug 3, 2026
4ba53b5
Use sccache to speed up compilation of cargo-semver-checks
Kobzol Aug 3, 2026
6dd1cd2
Merge pull request #23015 from so1ve/fix/22995
A4-Tacks Aug 3, 2026
1ae00c8
Add a mechanism to skip running stdlib semver check
Kobzol Aug 3, 2026
732127e
Speed up compilation of cargo-semver-checks
Kobzol Aug 3, 2026
8cf9d48
Merge pull request #23007 from shulaoda/08-03-fix_don_t_panic_on_an_a…
ChayimFriedman2 Aug 3, 2026
66ba91d
Merge pull request #23016 from so1ve/fix/22988
ChayimFriedman2 Aug 3, 2026
296a748
Remove no-longer-needed special handling of destructuring assignments
ChayimFriedman2 Aug 3, 2026
f1e38bd
Merge pull request #23018 from ChayimFriedman2/dest-assign-remnants
ChayimFriedman2 Aug 3, 2026
c6bd392
Merge pull request #23002 from bend-n/bump_lsp_types
ChayimFriedman2 Aug 3, 2026
48692df
feat: resolve trailing self in paths
hongjr03 Aug 3, 2026
fb05664
Merge pull request #23014 from hongjr03/trailing-self-in-imports
ChayimFriedman2 Aug 3, 2026
ccc9fa7
Always allocate anon consts for c-strings/byte-strings literals
ChayimFriedman2 Aug 3, 2026
4a736cb
fix: allow diverging rhs in destructuring assignments
so1ve Aug 3, 2026
e43a310
Merge pull request #23001 from ChayimFriedman2/lt-save-lifetime
ChayimFriedman2 Aug 3, 2026
1210db4
Merge pull request #23017 from so1ve/fix/22991
ChayimFriedman2 Aug 3, 2026
c2fc491
fixed positive diagnostic for valid code
solodevstack Aug 3, 2026
c220e6c
fix: preserve trailing text when `InsertReplaceEdit` is unsupported
so1ve Aug 4, 2026
30737a5
test: remove useless unit test
so1ve Aug 4, 2026
2f9e86c
Merge pull request #23021 from ChayimFriedman2/complex-literal-const
ChayimFriedman2 Aug 4, 2026
6e5e5f2
Merge pull request #23020 from solodevstack/first-os
ChayimFriedman2 Aug 4, 2026
d38d713
fix: account for trailing line continuations in byte strings
so1ve Aug 4, 2026
4253a59
Merge pull request #23032 from so1ve/fix/22986
ChayimFriedman2 Aug 4, 2026
09035d4
Merge pull request #22974 from rit3sh-x/fix/22840-macro-expansion-dep…
ChayimFriedman2 Aug 4, 2026
9b8fe01
Initialize `macro_depth` to the file's macro depth in docs.rs and ass…
ChayimFriedman2 Aug 4, 2026
ad239b6
Merge pull request #23034 from ChayimFriedman2/rec-depth
ChayimFriedman2 Aug 4, 2026
b55c150
When searching for a `pub macro`, consider it available to reverse de…
ChayimFriedman2 Aug 4, 2026
bc6d507
Enable hiding the progress bar from `rust-analyzer diagnostics`
ChayimFriedman2 Aug 4, 2026
9e880b4
Merge pull request #23037 from ChayimFriedman2/quiet-diagnostics
ChayimFriedman2 Aug 4, 2026
e1377c7
fix: avoid array len type mismatch with string panic
edragain2nd Aug 3, 2026
4132c05
Merge pull request #23019 from edragain2nd/fix/array_len_string_liter…
ChayimFriedman2 Aug 4, 2026
a8b0fb2
Merge pull request #23028 from so1ve/fix/21365
ChayimFriedman2 Aug 5, 2026
eed4c9e
Fix upvars query of const block inside closure
ChayimFriedman2 Aug 5, 2026
9c60833
Hide the progress bar for non-ttys
ChayimFriedman2 Aug 5, 2026
80292a2
Merge pull request #23041 from ChayimFriedman2/isterminal-progress
ChayimFriedman2 Aug 5, 2026
cb5ec29
Merge pull request #23040 from ChayimFriedman2/closure-capture-const
Veykril Aug 5, 2026
6b29873
Merge pull request #23036 from ChayimFriedman2/pub-macros2
Veykril Aug 5, 2026
536b1f0
Support `#[rustc_must_implement_one_of]` in the assists
ChayimFriedman2 Aug 5, 2026
c4a5c14
Remove borrowck
ChayimFriedman2 Aug 5, 2026
c613336
Merge pull request #23043 from ChayimFriedman2/rip-borrowck
ChayimFriedman2 Aug 5, 2026
006131e
internal: use `rustc_type_ir::try_visit`
ada4a Jul 29, 2026
307ca1f
Merge pull request #23047 from ada4a/push-ukyrptqlowys
ChayimFriedman2 Aug 5, 2026
82c7a92
Parse inline asm with keyword as operand name
ChayimFriedman2 Aug 5, 2026
2fc9f52
Allow struct literals in match guards inside `let` exprs
ChayimFriedman2 Aug 5, 2026
2442ac9
Optimize memory usage of the item tree
ChayimFriedman2 Aug 5, 2026
00402b9
Merge pull request #23056 from ChayimFriedman2/opt-itemtree
ChayimFriedman2 Aug 6, 2026
060be81
fix: avoid escaping bound vars produced by function infer_method_call…
edragain2nd Aug 6, 2026
b4395f1
Merge pull request #23055 from ChayimFriedman2/guard-let-struct
ChayimFriedman2 Aug 6, 2026
9dd85de
Merge pull request #23059 from edragain2nd/fix/escaping_bound_vars_on…
ChayimFriedman2 Aug 6, 2026
589d5c8
fix: remove extra spaces in full function signatures
lingyaochu Aug 7, 2026
e055f1a
Merge pull request #23070 from lingyaochu/completion_fix
A4-Tacks Aug 7, 2026
738e44a
feat: let Param::parent_fn return function for BuiltinDeriveImplMetho…
anatawa12 Aug 7, 2026
eb959c2
Merge pull request #23054 from ChayimFriedman2/asm-keyword
Veykril Aug 8, 2026
3348414
Merge pull request #22994 from A4-Tacks/useless-ty-term-search-assist
Veykril Aug 8, 2026
d6f9e92
Merge pull request #23042 from ChayimFriedman2/must-impl-one-of
Veykril Aug 8, 2026
75d2068
Merge pull request #22899 from ChayimFriedman2/doc-macro-ide
Veykril Aug 8, 2026
78af4a1
Merge pull request #22922 from shulaoda/07-26-fix_don_t_panic_when_a_…
Veykril Aug 8, 2026
252807a
Merge pull request #23071 from anatawa12/param-parent-fn
ChayimFriedman2 Aug 8, 2026
9d2127c
feature: add replace_arith_with_strict assist
nam2ee Aug 9, 2026
ff335fa
Merge pull request #23082 from nam2ee/add-replace-arith-strict
ChayimFriedman2 Aug 9, 2026
6c3bd93
Use the same code to infer let statements and let exprs
ChayimFriedman2 Aug 9, 2026
d884f5b
Do not declare the value NS constructor for structs/enum variants if …
ChayimFriedman2 Aug 9, 2026
1eb9a03
Merge pull request #23085 from ChayimFriedman2/let-stmt-expr
Veykril Aug 9, 2026
10bb26b
Merge pull request #23096 from ChayimFriedman2/ctor-vis
Veykril Aug 9, 2026
2d284bc
fix: parse or pattern after range pattern
edragain2nd Aug 8, 2026
8be6548
Merge pull request #23077 from edragain2nd/fix/range_pattern
A4-Tacks Aug 9, 2026
2a127fb
Fix funding link
makai410 Aug 10, 2026
5672f89
Store `map` in `Collector`
nnethercote Aug 3, 2026
3ef076c
Store the analysis in `StateDiffCollector`
nnethercote Aug 3, 2026
234b354
Remove `analysis` arg from `ResultsVisitor` methods
nnethercote Aug 3, 2026
1d223ee
Update Enzyme submodule
ZuseZ4 Aug 10, 2026
49247f7
Fix swapped doc comment lines on the `io::Read` trait
Jontos Aug 10, 2026
ac88fca
Add documentation about the stdlib semver check job to RDG and add `d…
Kobzol Aug 10, 2026
f3ff14e
rename small copy list to small copy set
jdonszelmann Aug 10, 2026
ef151d6
rustc_attr_parsing: depend on rustc_attr_ir instead of rustc_hir
mejrs Aug 10, 2026
57667fe
Stop updating npm lockfile by Renovatebot
Kobzol Aug 10, 2026
12674a1
rustc_session: minimize rustc_hir dependencies
mejrs Aug 10, 2026
2c573be
Only disable lockfile updates for npm
Kobzol Aug 10, 2026
1c9d846
rustc_ast_passes: use rustc_attr_ir imports
mejrs Aug 10, 2026
8c85df3
rustc_expand: depend more on rustc_attr_ir
mejrs Aug 10, 2026
e35d06a
rustc_builtin_macros: depend on rustc_attr_ir instead
mejrs Aug 10, 2026
3da9545
Rollup merge of #160841 - lnicola:sync-from-ra, r=lnicola
JonathanBrouwer Aug 10, 2026
ac6c11a
Rollup merge of #160253 - Kobzol:csc-ci, r=jieyouxu
JonathanBrouwer Aug 10, 2026
34df6a0
Rollup merge of #160216 - khyperia:gca-path-cleanup, r=BoxyUwU,bit-aloo
JonathanBrouwer Aug 10, 2026
fcdaed2
Rollup merge of #160832 - makai410:fix-link, r=jhpratt
JonathanBrouwer Aug 10, 2026
18d4e3e
Rollup merge of #160833 - nnethercote:rm-analysis-arg-from-visitors, …
JonathanBrouwer Aug 10, 2026
436bfbd
Rollup merge of #160834 - ZuseZ4:enzyme-10-aug-2026, r=ZuseZ4
JonathanBrouwer Aug 10, 2026
035097e
Rollup merge of #160836 - Jontos:fix-read-doc-line-order, r=nia-e
JonathanBrouwer Aug 10, 2026
b4cfbd3
Rollup merge of #160839 - Kobzol:renovatebot-remove-npm, r=marcoieni
JonathanBrouwer Aug 10, 2026
4e1018e
Rollup merge of #160840 - jdonszelmann:smol-copy-list-to-set, r=nneth…
JonathanBrouwer Aug 10, 2026
62641fa
Rollup merge of #160846 - mejrs:more_attrs, r=JonathanBrouwer
JonathanBrouwer Aug 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
github: rustfoundation
custom: ["rust-lang.org/funding"]
custom: ["https://rust-lang.org/funding"]
9 changes: 5 additions & 4 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,12 @@
"enabled": false
},
{
// Update yarn.lock in a dedicated PR.
"matchManagers": ["npm"],
// Do not update npm/yarn lockfile, we only use it for internal tests.
"matchManagers": [
"npm"
],
"matchUpdateTypes": ["lockFileMaintenance"],
"groupName": "Yarn lock file maintenance",
"commitMessageAction": "Yarn lock file update"
"enabled": false,
}
],
"ignorePaths": [
Expand Down
8 changes: 5 additions & 3 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3679,11 +3679,11 @@ dependencies = [
"rustc_abi",
"rustc_ast",
"rustc_ast_pretty",
"rustc_attr_ir",
"rustc_attr_parsing",
"rustc_data_structures",
"rustc_errors",
"rustc_feature",
"rustc_hir",
"rustc_macros",
"rustc_session",
"rustc_span",
Expand Down Expand Up @@ -3725,10 +3725,10 @@ dependencies = [
"rustc_abi",
"rustc_ast",
"rustc_ast_pretty",
"rustc_attr_ir",
"rustc_data_structures",
"rustc_errors",
"rustc_feature",
"rustc_hir",
"rustc_lexer",
"rustc_lint_defs",
"rustc_macros",
Expand Down Expand Up @@ -3781,12 +3781,12 @@ version = "0.0.0"
dependencies = [
"rustc_ast",
"rustc_ast_pretty",
"rustc_attr_ir",
"rustc_attr_parsing",
"rustc_data_structures",
"rustc_errors",
"rustc_expand",
"rustc_feature",
"rustc_hir",
"rustc_index",
"rustc_lexer",
"rustc_lint_defs",
Expand Down Expand Up @@ -4037,6 +4037,7 @@ dependencies = [
"rustc_ast",
"rustc_ast_passes",
"rustc_ast_pretty",
"rustc_attr_ir",
"rustc_attr_parsing",
"rustc_data_structures",
"rustc_errors",
Expand Down Expand Up @@ -4746,6 +4747,7 @@ dependencies = [
"libc",
"rustc_abi",
"rustc_ast",
"rustc_attr_ir",
"rustc_data_structures",
"rustc_errors",
"rustc_feature",
Expand Down
9 changes: 9 additions & 0 deletions bootstrap.example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -935,6 +935,15 @@
#
#rust.parallel-frontend-threads = 1

# Baseline commit SHA for comparing semver breakages in the Rust standard library.
# The in-tree stdlib API will be evaluated for semver breakages against this commit.
# Used for the `./x test std-semver-check` command.
# If unset, the first upstream parent commit will be used.
#
# The SHA must point to a merge commit merged into the mainline rust-lang/rust `main` branch,
# because bootstrap will attempt to download the JSON docs data for this commit from its CI.
#rust.stdlib-semver-baseline = "<commit-sha>"

# =============================================================================
# Distribution options
#
Expand Down
21 changes: 11 additions & 10 deletions compiler/rustc_ast/src/ast.rs
Original file line number Diff line number Diff line change
Expand Up @@ -140,14 +140,15 @@ impl Path {
self.segments.first().is_some_and(|segment| segment.ident.name == kw::PathRoot)
}

/// Check if this path is potentially a trivial const arg, i.e., one that can _potentially_
/// be represented without an anon const in the HIR.
///
/// Returns true iff the path has exactly one segment, and it has no generic args
/// (i.e., it is _potentially_ a const parameter).
#[tracing::instrument(level = "debug", ret)]
pub fn is_potential_trivial_const_arg(&self) -> bool {
self.segments.len() == 1 && self.segments.iter().all(|seg| seg.args.is_none())
/// Checks if this path is just a simple one-word `PATH` - i.e. the inverse of
/// [`Path::from_ident`]
pub fn is_single_argless_ident(&self) -> bool {
self.segments.len() == 1 && self.segments[0].args.is_none()
}

/// The inverse of [`Path::from_ident`] - if this path is just a simple one-word `PATH`
pub fn as_single_argless_ident(&self) -> Option<Ident> {
self.is_single_argless_ident().then(|| self.segments[0].ident)
}
}

Expand Down Expand Up @@ -1406,7 +1407,7 @@ impl Expr {
/// be represented without an anon const in the HIR.
///
/// This will unwrap at most one block level (curly braces). After that, if the expression
/// is a path, it mostly dispatches to [`Path::is_potential_trivial_const_arg`].
/// is a path, it mostly dispatches to [`Path::is_single_argless_ident`].
///
/// This function will only allow paths with no qself, before dispatching to the `Path`
/// function of the same name.
Expand All @@ -1416,7 +1417,7 @@ impl Expr {
pub fn is_potential_trivial_const_arg(&self) -> bool {
let this = self.maybe_unwrap_block();
if let ExprKind::Path(None, path) = &this.kind
&& path.is_potential_trivial_const_arg()
&& path.is_single_argless_ident()
{
true
} else {
Expand Down
Loading
Loading