Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
a78b70d
implement StdioExt for windows
the8472 Jul 14, 2026
5e53b07
fix: fix syntax bridge panic when spilting float
edragain2nd Jul 18, 2026
f1dc71f
Eagerly normalize `.await`'s `IntoFuture::Output`
ChayimFriedman2 Jul 18, 2026
4af3e05
Merge pull request #22852 from ChayimFriedman2/never-await
Veykril Jul 19, 2026
3e7c36b
Record obligation chain for unimplemented trait diagnostics
Veykril Jul 17, 2026
87f2ae3
Simplify
Veykril Jul 19, 2026
6c7ffa4
Merge pull request #22849 from edragain2nd/illegal_float_spilt
Veykril Jul 19, 2026
cf3dfb9
fix: Fix `InferenceContext:identity_args` using the wrong DefId
Veykril Jul 19, 2026
e82cdd8
Merge pull request #22855 from Veykril/lukaswirth/push-sqpzymzrvzvm
Veykril Jul 19, 2026
aea3da0
Improve AGENTS.md
Veykril Jul 19, 2026
602aff5
Merge pull request #22856 from Veykril/lukaswirth/push-kzkzsunnostv
Veykril Jul 19, 2026
79f049d
fix: Handle enum variants in next-solver `generics`
Veykril Jul 19, 2026
05ca20d
Merge pull request #22857 from Veykril/lukaswirth/push-ttkrrvqrvuqs
Veykril Jul 19, 2026
b5ec4b1
Unleash more lifetimes
Veykril Jun 8, 2026
e7077ff
internal: Pack `ExprOrPatId` when stored
Veykril Jul 19, 2026
4874f31
Record expressions in types in ExprScope
Veykril Jul 19, 2026
9d832f2
Shrink ScopeData by 16 bytes
Veykril Jul 19, 2026
4d0f57e
Support lifetimes in `impl_from` macro
Veykril Jul 19, 2026
cf3070a
Merge pull request #22860 from Veykril/lukaswirth/push-uxlsstlnnszp
Veykril Jul 19, 2026
a9ed9be
Merge pull request #22548 from Veykril/lukaswirth/push-ykqkymxvnkyz
Veykril Jul 19, 2026
82a5471
Merge pull request #22861 from Veykril/lukaswirth/push-ksslunmzoxpt
Veykril Jul 19, 2026
00afadf
internal: Shrink hir::Expr from 64 to 48 bytes
Veykril Jul 19, 2026
079b401
Merge pull request #22862 from Veykril/lukaswirth/push-lstwyoxyymzo
Veykril Jul 19, 2026
a8a8a1c
feat: implement lowering of HRTB
dfireBird May 20, 2026
7f6e92f
fix: Spawn proc-macro servers on requests clearing the client cache
zargovv Jul 19, 2026
28c81c4
Fix formatting
zargovv Jul 19, 2026
125bbca
Merge pull request #22865 from zargovv/master
Veykril Jul 19, 2026
fb9e2e4
feat: merge `WherePredicate::ForLifetimes` into `WherePredicate::Type…
dfireBird Jul 20, 2026
1da5a09
fix `hir-def` crate description
ada4a Jul 20, 2026
e822fe3
Merge pull request #22818 from dfireBird/hrtb-lowering
Veykril Jul 20, 2026
770d9ce
misc improvements
ada4a Jul 9, 2026
2912f66
push `Debug` bound from `HirDatabase` down to `SourceDatabase`
ada4a Jul 14, 2026
f657621
move `#[salsa::tracked]` to the underlying queries
ada4a Jul 15, 2026
9634455
Merge pull request #22866 from ada4a/push-myzupxxuwyvk
ChayimFriedman2 Jul 20, 2026
0821217
turn `HirDatabase` into an extension trait
ada4a Jul 14, 2026
47827ff
remove `query-group-macro`
ada4a Jul 15, 2026
82445ad
Merge pull request #22867 from dfireBird/push-qyookpnnzqok
Veykril Jul 20, 2026
edd9aec
Merge pull request #22831 from ada4a/unquerygroup-hirdatabase
Veykril Jul 20, 2026
c918732
add `declare_id_wrapper_with_lt`
ada4a Jun 17, 2026
cda6009
add lifetime to `InternedOpaqueTyId`
ada4a Jun 17, 2026
67252fe
fix: defer const normalize in coherence mode
cordx56 Jun 21, 2026
32a1b51
fix(test): remove the test that should not be passed and will be dele…
cordx56 Jul 20, 2026
b882493
fix: check whether next_trait_solver which does not support GCE
cordx56 Jul 20, 2026
7e186a8
chore(test): remove problematic test from issues.txt in tidy
cordx56 Jul 20, 2026
6c1901f
Merge pull request #22611 from ada4a/lt-for-interned_opaque_ty_id
Veykril Jul 20, 2026
5dab5cb
Change unsupported toolchain version to match reality
ChayimFriedman2 Jul 21, 2026
d88ebcf
Merge pull request #22876 from ChayimFriedman2/upgrade-unsupported-to…
ChayimFriedman2 Jul 21, 2026
19551c2
Do not detect `#[rust_analyzer]` as `#[rust_analyzer::rust_fixture]`
ChayimFriedman2 Jul 21, 2026
80db819
internal: add `Module::path_segments`, dedup the path-to-root name walk
enomado Jul 21, 2026
c28148f
Merge pull request #22883 from enomado/hir-module-path-segments
ChayimFriedman2 Jul 21, 2026
b14606e
Emit existing `MissingFields` diagnostic
TheDoctor314 Jul 18, 2026
6df48f4
internal: refer to salsa macros using `salsa::`
ada4a Jul 22, 2026
6756f20
remove the no longer needed `salsa-macros` deps
ada4a Jul 22, 2026
38efdf3
fix: no_such_field should ignore non-editable crates
Wilfred Jul 22, 2026
6ac189d
fix: no_such_field panic with macros
Wilfred Jul 22, 2026
c5a5964
Use token-based implements
A4-Tacks Jul 22, 2026
e2e9258
fix: merge_imports panic on invalid paths
Wilfred Jul 22, 2026
49a5d6d
fix: lowering of resolved const inference variables
amirHdev Jul 23, 2026
ae29b37
bootstrap: pass /Brepro to MSVC linker when building rustc
paradoxicalguy Jul 6, 2026
8768e74
fix: uses bool instead pat ty in guard
A4-Tacks Jul 24, 2026
e244a96
Merge pull request #22896 from A4-Tacks/guard-expected-ty
ChayimFriedman2 Jul 24, 2026
d05f397
fix: add parentheses for invert general expression
A4-Tacks Jul 24, 2026
5951005
Introduce types module for types shared between libunwind and wasm
bjorn3 Jul 10, 2026
46b319e
Remove a cfg_select! where the api doesn't change
bjorn3 Jul 10, 2026
f5260df
Remove aborting Emscripten personality function
bjorn3 Jul 19, 2026
0ccc68e
Remove a bunch of unused bindings from the unwind crate
bjorn3 Jul 19, 2026
6936c08
fix: attach db on worker threads in parallel analysis-stats inference
tilladam Jul 24, 2026
528bbbc
Merge pull request #22905 from tilladam/fix-parallel-inference-attach-db
Veykril Jul 24, 2026
d80efc9
Merge pull request #22898 from A4-Tacks/invert-general-needs-paren
Veykril Jul 24, 2026
c968662
Merge pull request #22885 from ada4a/push-txoywxkpkntz
Veykril Jul 24, 2026
b91043d
Merge pull request #22881 from ChayimFriedman2/ra-no-fixture
Veykril Jul 24, 2026
d80d0ad
Merge pull request #22843 from Wilfred/fix/no-such-field-macro-offset
Veykril Jul 24, 2026
3e5c09e
Merge pull request #22892 from Wilfred/fix/merge-imports-malformed-paths
Veykril Jul 24, 2026
dd32b4f
Fix stale lock file
Veykril Jul 25, 2026
f441fa8
Merge pull request #22908 from Veykril/lukaswirth/push-mzmtowqynstt
Veykril Jul 25, 2026
1fbf6ff
internal: scoped cache priming
tilladam Jun 13, 2026
4958f98
Merge pull request #22587 from tilladam/perf/scoped-lazy-priming
Veykril Jul 25, 2026
ebf114b
tests: add regression test for issue 159894
amirHdev Jul 25, 2026
0bd28ac
Merge pull request #22851 from TheDoctor314/fixme-error-incomplete-st…
ChayimFriedman2 Jul 25, 2026
352ab10
Merge pull request #22854 from Veykril/lukaswirth/push-mxzkovmksnut
ChayimFriedman2 Jul 25, 2026
70847a5
Remove format_args lowering for toolchains prior to 1.94.0
ChayimFriedman2 Jul 25, 2026
5e63626
Remove lockfile-path support for Cargo versions below 1.94.0
ChayimFriedman2 Jul 25, 2026
3ce7165
Remove support for `#[rustc_box]`
ChayimFriedman2 Jul 25, 2026
222ac69
Require `MetaSized`
ChayimFriedman2 Jul 25, 2026
9f6fa9b
Remove `min_align_of[_val]()` intrinsic
ChayimFriedman2 Jul 25, 2026
b93869f
Remove support for `None` `Op::Count` in MBE
ChayimFriedman2 Jul 25, 2026
679271e
replace detach with delete in edit
Shourya742 Jul 26, 2026
e1bc5df
Merge pull request #22916 from Shourya742/2026-07-26-replace-detach-w…
ChayimFriedman2 Jul 26, 2026
641ff3c
fix: don't offer `replace_qualified_name_with_use` on an unqualified …
shulaoda Jul 26, 2026
a1368ec
Merge pull request #22919 from shulaoda/07-26-fix_don_t_offer_replace…
ChayimFriedman2 Jul 26, 2026
3aaba95
fix: prefer `alloc` over `std` paths when `preferNoStd` is set
shulaoda Jul 26, 2026
03b9e33
Merge pull request #22918 from shulaoda/07-26-fix_prefer_alloc_over_s…
ChayimFriedman2 Jul 26, 2026
5d1d4b3
fix: Fix `.zip(None)` call
Veykril Jul 26, 2026
c9043b7
Merge pull request #22924 from Veykril/lukaswirth/push-vyxsrxpymtlm
Veykril Jul 26, 2026
573bd7d
Add regression test for rust-lang/rust-analyzer#22913
Veykril Jul 26, 2026
1c820a1
Merge pull request #22914 from ChayimFriedman2/remove-old-versions
ChayimFriedman2 Jul 26, 2026
c1f175c
Merge pull request #22925 from Veykril/lukaswirth/push-yvtwmnwqqxul
Veykril Jul 26, 2026
04e90a4
fix: give `impl_trait_with_diagnostics` a cycle result
shulaoda Jul 26, 2026
f45f979
Merge pull request #22923 from shulaoda/07-26-fix_give_impl_trait_wit…
ChayimFriedman2 Jul 26, 2026
02a54aa
update thinvec to latest version
panstromek Jul 26, 2026
4a7d5c8
On many bindings with move error, limit the number of `Span`s
estebank Jul 27, 2026
3265681
Fix lint warning
bjorn3 Jul 27, 2026
4c61167
tests: use explicit dyn trait object
amirHdev Jul 27, 2026
87a3711
Fix the const impl suggestion
Randl Jul 27, 2026
ab76db5
tests/ui: Ignore one query cycle test in parallel frontend mode
petrochenkov Jul 27, 2026
6a194be
ci: Make the `x86_64-gnu-parallel-frontend` job non-optional
petrochenkov Jul 24, 2026
2ddda91
compiletest: do not talk about JSON when the user never sees any
RalfJung Jul 27, 2026
574ee12
Don't codegen comptime fns
oli-obk Jul 23, 2026
4609fbc
Mark some more comptime-only things as comptime
oli-obk Jul 23, 2026
960d0a5
tests/ui: Ignore one query cycle test in parallel frontend mode
petrochenkov Jul 27, 2026
3e2470e
test suite: add ARM case to ABI-required target feature check for -Ct…
RalfJung Jul 27, 2026
5ae8bb0
Rollup merge of #160009 - lnicola:sync-from-ra, r=lnicola
JonathanBrouwer Jul 27, 2026
1db2212
Rollup merge of #159833 - petrochenkov:parci, r=jieyouxu
JonathanBrouwer Jul 27, 2026
ba9c05d
Rollup merge of #158873 - paradoxicalguy:brepro-msvc, r=ChrisDenton
JonathanBrouwer Jul 27, 2026
e51da70
Rollup merge of #159777 - oli-obk:really-comptime-this-time, r=fmease
JonathanBrouwer Jul 27, 2026
fccf88e
Rollup merge of #159997 - estebank:many-move-spans, r=ShoyuVanilla
JonathanBrouwer Jul 27, 2026
3aec251
Rollup merge of #158205 - cordx56:fix/const-coherence, r=lcnr
JonathanBrouwer Jul 27, 2026
57c9e2e
Rollup merge of #159312 - the8472:stdio-swap-win, r=ChrisDenton
JonathanBrouwer Jul 27, 2026
fac44f9
Rollup merge of #159772 - amirHdev:fix-lower-universe-const, r=lcnr
JonathanBrouwer Jul 27, 2026
2a7f1d2
Rollup merge of #159785 - bjorn3:refactor_unwind2, r=clarfonthey
JonathanBrouwer Jul 27, 2026
1fa9eaf
Rollup merge of #159968 - Randl:fix_sugg, r=oli-obk
JonathanBrouwer Jul 27, 2026
447eef1
Rollup merge of #159974 - panstromek:update-thin-vec, r=mejrs
JonathanBrouwer Jul 27, 2026
d9c55ed
Rollup merge of #160013 - petrochenkov:ignpartest1, r=jieyouxu
JonathanBrouwer Jul 27, 2026
a245f4d
Rollup merge of #160016 - RalfJung:compiletest-json, r=petrochenkov
JonathanBrouwer Jul 27, 2026
d3cf641
Rollup merge of #160018 - RalfJung:abi-required-target-feature, r=mejrs
JonathanBrouwer Jul 27, 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
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5575,9 +5575,9 @@ dependencies = [

[[package]]
name = "thin-vec"
version = "0.2.18"
version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0f7e269b48f0a7dd0146680fa24b50cc67fc0373f086a5b2f99bd084639b482"
checksum = "79def32ffcd477db1ff26f76dab9e3a91f0bd42a85ca96577089b24623056f9d"

[[package]]
name = "thiserror"
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_ast/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ rustc_macros = { path = "../rustc_macros" }
rustc_serialize = { path = "../rustc_serialize" }
rustc_span = { path = "../rustc_span" }
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
# tidy-alphabetical-end
2 changes: 1 addition & 1 deletion compiler/rustc_ast_lowering/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@ rustc_session = { path = "../rustc_session" }
rustc_span = { path = "../rustc_span" }
rustc_target = { path = "../rustc_target" }
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
# tidy-alphabetical-end
2 changes: 1 addition & 1 deletion compiler/rustc_ast_pretty/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ rustc_span = { path = "../rustc_span" }

[dev-dependencies]
# tidy-alphabetical-start
thin-vec = "0.2.18"
thin-vec = "0.2.19"
# tidy-alphabetical-end
2 changes: 1 addition & 1 deletion compiler/rustc_attr_parsing/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ rustc_parse_format = { path = "../rustc_parse_format" }
rustc_session = { path = "../rustc_session" }
rustc_span = { path = "../rustc_span" }
rustc_target = { path = "../rustc_target" }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
# tidy-alphabetical-end
3 changes: 3 additions & 0 deletions compiler/rustc_borrowck/src/diagnostics/move_errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1243,6 +1243,9 @@ impl<'diag, 'tcx> MirBorrowckCtxt<'_, 'diag, 'tcx> {
}
} else if j == 0 {
err.span_label(binding_span, "data moved here");
} else if j == 5 && binds_to.len() > 6 && !self.infcx.tcx.sess.opts.verbose {
err.note(format!("...and {} other places", binds_to.len() - 5));
break;
} else {
err.span_label(binding_span, "...and here");
}
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_builtin_macros/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ rustc_session = { path = "../rustc_session" }
rustc_span = { path = "../rustc_span" }
rustc_target = { path = "../rustc_target" }
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
# tidy-alphabetical-end

Expand Down
6 changes: 6 additions & 0 deletions compiler/rustc_codegen_ssa/src/back/symbol_export.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use std::collections::hash_map::Entry::*;
use rustc_abi::{CanonAbi, X86Call};
use rustc_ast::expand::allocator::{AllocatorKind, NO_ALLOC_SHIM_IS_UNSTABLE, global_fn_name};
use rustc_data_structures::unord::UnordMap;
use rustc_hir as hir;
use rustc_hir::def::DefKind;
use rustc_hir::def_id::{CrateNum, DefId, DefIdMap, LOCAL_CRATE, LocalDefId};
use rustc_middle::bug;
Expand Down Expand Up @@ -87,6 +88,11 @@ pub fn reachable_non_generics_helper(tcx: TyCtxt<'_>) -> DefIdMap<SymbolExportIn

// Only consider nodes that actually have exported symbols.
match tcx.def_kind(def_id) {
DefKind::Fn | DefKind::AssocFn
if tcx.constness(def_id) == hir::Constness::Const { always: true } =>
{
return None;
}
DefKind::Fn | DefKind::Static { .. } => {}
DefKind::AssocFn if tcx.impl_of_assoc(def_id.to_def_id()).is_some() => {}
_ => return None,
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_data_structures/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ smallvec = { version = "1.8.1", features = [
] }
stacker = "0.1.17"
tempfile = "3.2"
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
# tidy-alphabetical-end

Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_expand/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,6 @@ rustc_session = { path = "../rustc_session" }
rustc_span = { path = "../rustc_span" }
scoped-tls = "1.0"
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
# tidy-alphabetical-end
2 changes: 1 addition & 1 deletion compiler/rustc_hir/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ rustc_serialize = { path = "../rustc_serialize" }
rustc_span = { path = "../rustc_span" }
rustc_target = { path = "../rustc_target" }
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
# tidy-alphabetical-end
2 changes: 1 addition & 1 deletion compiler/rustc_infer/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ rustc_middle = { path = "../rustc_middle" }
rustc_span = { path = "../rustc_span" }
rustc_type_ir = { path = "../rustc_type_ir" }
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
# tidy-alphabetical-end
5 changes: 4 additions & 1 deletion compiler/rustc_infer/src/infer/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -529,7 +529,10 @@ impl<'a, 'tcx> ty::TypeFolder<TyCtxt<'tcx>> for LowerUniverseFolder<'a, 'tcx> {
match c.kind() {
ty::ConstKind::Infer(ty::InferConst::Var(vid)) => {
let vid = self.infcx.root_const_var(vid);
let universe = self.infcx.try_resolve_const_var(vid).unwrap_err();
let universe = match self.infcx.try_resolve_const_var(vid) {
Ok(value) => return value.fold_with(self),
Err(universe) => universe,
};
if self.for_universe.can_name(universe) {
c
} else {
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_infer/src/infer/relate/generalize.rs
Original file line number Diff line number Diff line change
Expand Up @@ -752,7 +752,7 @@ impl<'tcx> TypeRelation<TyCtxt<'tcx>> for Generalizer<'_, 'tcx> {
// Hack: Fall back to old behavior if GCE is enabled (it used to just be the Yes
// path), as doing this new No path breaks some GCE things. I expect GCE to be
// ripped out soon so this shouldn't matter soon.
if !tcx.features().generic_const_exprs() {
if self.infcx.next_trait_solver() || !tcx.features().generic_const_exprs() {
self.generalize_alias_term(alias_const.into()).map(|v| v.expect_const())
} else {
let ty::AliasConst { kind, args, .. } = alias_const;
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_middle/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ rustc_target = { path = "../rustc_target" }
rustc_thread_pool = { path = "../rustc_thread_pool" }
rustc_type_ir = { path = "../rustc_type_ir" }
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
# tidy-alphabetical-end

Expand Down
9 changes: 9 additions & 0 deletions compiler/rustc_monomorphize/src/collector.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1677,6 +1677,15 @@ impl<'v> RootCollector<'_, 'v> {
&& match self.strategy {
MonoItemCollectionStrategy::Eager => {
!matches!(self.tcx.codegen_fn_attrs(def_id).inline, InlineAttr::Force { .. })
// comptime fns can't be codegenned, so we need to prevent collecting them even
// with link-dead-code. Lazy mode prevents them by them not showing up in
// `is_reachable_non_generic` (and `entry_fn` can't be comptime).
&& match self.tcx.def_kind(def_id) {
DefKind::Fn | DefKind::AssocFn => {
self.tcx.constness(def_id) != hir::Constness::Const { always: true }
}
_ => true,
}
}
MonoItemCollectionStrategy::Lazy => {
self.entry_fn.and_then(|(id, _)| id.as_local()) == Some(def_id)
Expand Down
8 changes: 3 additions & 5 deletions compiler/rustc_next_trait_solver/src/canonical/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -391,12 +391,10 @@ where
}

let infcx = self.infcx;
// FIXME: make this a debug_assert.
// Currently proof tree evaluation can unify infer vars in original
// vars while not resolving them.
// See `tests/ui/traits/next-solver/transmute-from-async-closure.rs`
// Proof tree evaluation can unify inference variables in the original
// values without eagerly resolving them.
let a = infcx.shallow_resolve_const(a);
debug_assert_eq!(b, infcx.shallow_resolve_const(b));
let b = infcx.shallow_resolve_const(b);
match (a.kind(), b.kind()) {
(
ty::ConstKind::Infer(ty::InferConst::Var(a_vid)),
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_parse/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ rustc_lexer = { path = "../rustc_lexer" }
rustc_macros = { path = "../rustc_macros" }
rustc_session = { path = "../rustc_session" }
rustc_span = { path = "../rustc_span" }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
unicode-normalization = "0.1.25"
unicode-width = "0.2.2"
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_resolve/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@ rustc_middle = { path = "../rustc_middle" }
rustc_session = { path = "../rustc_session" }
rustc_span = { path = "../rustc_span" }
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
# tidy-alphabetical-end
2 changes: 1 addition & 1 deletion compiler/rustc_serialize/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ edition = "2024"
indexmap = "2.0.0"
rustc_hashes = { path = "../rustc_hashes" }
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
# tidy-alphabetical-end

[dev-dependencies]
Expand Down
7 changes: 6 additions & 1 deletion compiler/rustc_symbol_mangling/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@
//! virtually impossible. Thus, symbol hash generation exclusively relies on
//! DefPaths which are much more robust in the face of changes to the code base.

use rustc_hir as hir;
use rustc_hir::def::DefKind;
use rustc_hir::def_id::{CrateNum, LOCAL_CRATE};
use rustc_middle::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs};
Expand Down Expand Up @@ -240,6 +241,10 @@ fn compute_symbol_name<'tcx>(
) -> String {
let def_id = instance.def_id();
let args = instance.args;
let def_kind = tcx.def_kind(instance.def_id());
if let DefKind::Fn | DefKind::AssocFn = def_kind {
debug_assert!(tcx.constness(instance.def_id()) != hir::Constness::Const { always: true });
}

debug!("symbol_name(def_id={:?}, args={:?})", def_id, args);

Expand All @@ -254,7 +259,7 @@ fn compute_symbol_name<'tcx>(
// visibility) symbol. This means that multiple crates may do the same
// and we want to be sure to avoid any symbol conflicts here.
let is_globally_shared_function = matches!(
tcx.def_kind(instance.def_id()),
def_kind,
DefKind::Fn
| DefKind::AssocFn
| DefKind::Closure
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_trait_selection/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ rustc_session = { path = "../rustc_session" }
rustc_span = { path = "../rustc_span" }
rustc_transmute = { path = "../rustc_transmute", features = ["rustc"] }
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
# tidy-alphabetical-end
Original file line number Diff line number Diff line change
Expand Up @@ -949,12 +949,12 @@ impl<'a, 'tcx> TypeErrCtxt<'a, 'tcx> {
}
} else if let Some(impl_did) = impl_did.as_local()
&& let item = self.tcx.hir_expect_item(impl_did)
&& let hir::ItemKind::Impl(item) = item.kind
&& let Some(of_trait) = item.of_trait
&& let hir::ItemKind::Impl(impl_) = item.kind
&& impl_.of_trait.is_some()
{
// trait is const, impl is local and not const
diag.span_suggestion_verbose(
of_trait.trait_ref.path.span.shrink_to_lo(),
item.span.shrink_to_lo(),
format!("make the `impl` of trait `{trait_name}` `const`"),
"const ".to_string(),
Applicability::MaybeIncorrect,
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_type_ir/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ rustc_type_ir_macros = { path = "../rustc_type_ir_macros" }
smallvec = { version = "1.8.1", default-features = false, features = [
"const_generics",
] }
thin-vec = "0.2.18"
thin-vec = "0.2.19"
tracing = "0.1"
# tidy-alphabetical-end

Expand Down
Loading