Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
1974d11
Fix loses label for convert_for_to_while_let
A4-Tacks Sep 27, 2025
8e3fc73
Fix make::unnamed_param result a untyped_param
A4-Tacks Nov 16, 2025
0fc3452
internal: add missing method for SyntaxFactory
Young-Flash Nov 25, 2025
8b27170
internal: migrate `convert_iter_for_each_to_for` to SyntaxEditor api
Young-Flash Nov 30, 2025
34f2848
Fix indent for toggle_ignore
A4-Tacks Nov 30, 2025
4e1e17e
Include operator overload occurrences in SCIP index
nicolas-guichard Sep 22, 2025
7fa8049
internal: add missing method for `SyntaxFactory`
Young-Flash Dec 1, 2025
98d0421
internal: migrate `generate_delegate_trait` to SyntaxEditor api
Young-Flash Dec 4, 2025
b405964
minor: fmt & clippy
Young-Flash Dec 4, 2025
573d6a5
Bump jws in /editors/code
dependabot[bot] Dec 4, 2025
e2d9d49
Do not create stale expressions in body lowering
ChayimFriedman2 Dec 5, 2025
1b396d7
minor: add missing SyntaxFactory::assoc_item_list
Young-Flash Dec 5, 2025
2122285
Fix not complete `format!("{{{$0")` and underscore
A4-Tacks Dec 5, 2025
3e33ed8
Fix pub in enum variant field for no_such_field
A4-Tacks Dec 7, 2025
aec8ce4
fix: fixed Impl display to show trait generic args
benodiwal Dec 7, 2025
d40aad9
fix: updated to use hir-def representation
benodiwal Dec 8, 2025
79be9f1
Merge pull request #21199 from Young-Flash/migrate_generate_delegate_…
ShoyuVanilla Dec 8, 2025
2bfbba3
Merge pull request #21174 from Young-Flash/migrate_convert_iter_for_e…
ShoyuVanilla Dec 8, 2025
c6b3ec5
Merge pull request #21221 from A4-Tacks/no-pub-in-variant-field
ShoyuVanilla Dec 8, 2025
d1c7843
Merge pull request #21207 from rust-lang/dependabot/npm_and_yarn/edit…
ShoyuVanilla Dec 8, 2025
72d41e1
Merge pull request #21209 from ChayimFriedman2/stale-expr
ShoyuVanilla Dec 8, 2025
d828665
Remove `[no-mentions]` handler in our triagebot config
Urgau Dec 8, 2025
2976de6
Merge pull request #21231 from Urgau/patch-2
lnicola Dec 8, 2025
3a633a3
Merge pull request #21226 from benodiwal/fix/impl-display-trait-gener…
ChayimFriedman2 Dec 8, 2025
8b86d8b
Merge pull request #21210 from A4-Tacks/comp-unescaped-brace-fmt-str
ShoyuVanilla Dec 9, 2025
ef99287
Add complex tests for assist generate_fn_type_alias
A4-Tacks Dec 9, 2025
8acfc85
Merge pull request #21044 from A4-Tacks/fix-make-unnamed-param
ShoyuVanilla Dec 9, 2025
676550b
fix: resolve const generic param-env panic in type projection
benodiwal Dec 9, 2025
cdc7296
Merge pull request #21235 from benodiwal/fix-const-generic-param-env-…
ChayimFriedman2 Dec 9, 2025
fc5a683
fix: is_transmutable always panicking
Colepng Dec 10, 2025
5f4aca3
Merge pull request #21238 from Colepng/is_transmutable-fix
ChayimFriedman2 Dec 10, 2025
225c5e0
Revert "Turn `BlockLoc` into a tracked struct"
Veykril Dec 9, 2025
9b2e5b3
Merge pull request #21233 from Veykril/push-ursspxxkozkk
Veykril Dec 10, 2025
f65d2df
Fix assist `and` -> `and_then` parameter
A4-Tacks Dec 10, 2025
fd8f92d
Move `format_args!()` lowering to a separate file
ChayimFriedman2 Dec 10, 2025
99df337
fix: Support dyn compatibility for old toolchains without `MetaSized`
ShoyuVanilla Dec 10, 2025
8747b0a
Bring back `MINIMUM_SUPPORTED_TOOLCHAIN_VERSION` to `1.78.0`
ShoyuVanilla Dec 10, 2025
ab30fee
Merge pull request #21241 from ShoyuVanilla/issue-20487-again
ChayimFriedman2 Dec 10, 2025
c0bf494
Support the new lowering of format_args!()
ChayimFriedman2 Dec 10, 2025
8f9d862
Support `#[feature(associated_type_defaults)]`
ChayimFriedman2 Dec 10, 2025
6d51219
`#[rustc_deprecated_safe_2024]` can also come as `#[rustc_deprecated_…
ChayimFriedman2 Dec 10, 2025
533fac5
Merge pull request #21244 from ChayimFriedman2/deprecated-safe
ChayimFriedman2 Dec 10, 2025
120be9b
Merge pull request #21187 from nicolas-guichard/push-orysqtulnxww
ChayimFriedman2 Dec 11, 2025
0c65fd8
Merge pull request #21175 from A4-Tacks/indent-toggle-ignore
ChayimFriedman2 Dec 11, 2025
f245261
Merge pull request #21243 from ChayimFriedman2/assoc-defaults
ShoyuVanilla Dec 11, 2025
583bb63
Merge pull request #21239 from A4-Tacks/eager-param-and-paren
ShoyuVanilla Dec 11, 2025
ad25b20
Fix Clippy
ChayimFriedman2 Dec 11, 2025
0adc11b
Merge pull request #21252 from ChayimFriedman2/fix-clippy
ChayimFriedman2 Dec 11, 2025
901ab2b
Fix a panic in `ast::TypeBound::kind()`
ChayimFriedman2 Dec 11, 2025
31258db
fix(lsp): handle dynamic registration for didSave
tris203 Dec 11, 2025
32f8abb
Merge pull request #20754 from A4-Tacks/conv-for-while-loop-label-attr
ShoyuVanilla Dec 12, 2025
a3dd6be
Reorder add_return_type assist
A4-Tacks Dec 12, 2025
73126ba
Merge pull request #21256 from A4-Tacks/big-range-add-ret-type
ChayimFriedman2 Dec 12, 2025
4bf8020
Merge pull request #21251 from ChayimFriedman2/fix-typebound-kind
Veykril Dec 12, 2025
731ae4d
Merge pull request #21242 from ChayimFriedman2/fmt-fix
Veykril Dec 12, 2025
67c0f74
Use a generated name in old format_args lowering, instead of `args`
ChayimFriedman2 Dec 13, 2025
b3e6363
Merge pull request #21263 from ChayimFriedman2/format-args-args
ChayimFriedman2 Dec 13, 2025
189a794
Fix bind_unused_param applicable on closure
A4-Tacks Dec 13, 2025
8bd3690
fix: respect rustc's lint attribute application order
J3m3 Dec 14, 2025
701bb2f
minor: Emit `WorkspaceDiagnosticRefresh` when flycheck finished
Veykril Dec 12, 2025
560d2ec
Merge pull request #21253 from tris203/lsp_didSave
Veykril Dec 14, 2025
9523102
Merge pull request #21257 from Veykril/push-qnolwwkvuwxk
Veykril Dec 14, 2025
3033266
Merge pull request #21264 from A4-Tacks/bind-unused-not-applicable-on…
Veykril Dec 14, 2025
aecd399
internal: Give `FileSymbol` it's `'db` lifetime
Veykril Dec 7, 2025
3ab53e2
Merge pull request #21225 from Veykril/push-wpzrmoxzttuz
Veykril Dec 14, 2025
337b2d1
Merge pull request #21265 from J3m3/lint-attr-order
ChayimFriedman2 Dec 14, 2025
9dcd2ef
Prepare for merging from rust-lang/rust
invalid-email-address Dec 15, 2025
8ab823e
Merge ref '0208ee09be46' from rust-lang/rust
invalid-email-address Dec 15, 2025
964d292
Format code
invalid-email-address Dec 15, 2025
4e8f58c
Merge pull request #21268 from rust-lang/rustc-pull
lnicola Dec 15, 2025
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
22 changes: 22 additions & 0 deletions src/tools/rust-analyzer/crates/base-db/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,28 @@ macro_rules! impl_intern_key {
};
}

/// # SAFETY
///
/// `old_pointer` must be valid for unique writes
pub unsafe fn unsafe_update_eq<T>(old_pointer: *mut T, new_value: T) -> bool
where
T: PartialEq,
{
// SAFETY: Caller obligation
let old_ref: &mut T = unsafe { &mut *old_pointer };

if *old_ref != new_value {
*old_ref = new_value;
true
} else {
// Subtle but important: Eq impls can be buggy or define equality
// in surprising ways. If it says that the value has not changed,
// we do not modify the existing value, and thus do not have to
// update the revision, as downstream code will not see the new value.
false
}
}

pub const DEFAULT_FILE_TEXT_LRU_CAP: u16 = 16;
pub const DEFAULT_PARSE_LRU_CAP: u16 = 128;
pub const DEFAULT_BORROWCK_LRU_CAP: u16 = 2024;
Expand Down
3 changes: 3 additions & 0 deletions src/tools/rust-analyzer/crates/hir-def/src/attrs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,9 @@ fn match_attr_flags(attr_flags: &mut AttrFlags, attr: Meta) -> ControlFlow<Infal
"rustc_skip_during_method_dispatch" => {
extract_rustc_skip_during_method_dispatch(attr_flags, tt)
}
"rustc_deprecated_safe_2024" => {
attr_flags.insert(AttrFlags::RUSTC_DEPRECATED_SAFE_2024)
}
_ => {}
},
2 => match path.segments[0].text() {
Expand Down
15 changes: 9 additions & 6 deletions src/tools/rust-analyzer/crates/hir-def/src/db.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ use la_arena::ArenaMap;
use triomphe::Arc;

use crate::{
AssocItemId, AttrDefId, ConstId, ConstLoc, DefWithBodyId, EnumId, EnumLoc, EnumVariantId,
EnumVariantLoc, ExternBlockId, ExternBlockLoc, ExternCrateId, ExternCrateLoc, FunctionId,
FunctionLoc, GenericDefId, ImplId, ImplLoc, LocalFieldId, Macro2Id, Macro2Loc, MacroExpander,
MacroId, MacroRulesId, MacroRulesLoc, MacroRulesLocFlags, ProcMacroId, ProcMacroLoc, StaticId,
StaticLoc, StructId, StructLoc, TraitId, TraitLoc, TypeAliasId, TypeAliasLoc, UnionId,
UnionLoc, UseId, UseLoc, VariantId,
AssocItemId, AttrDefId, BlockId, BlockLoc, ConstId, ConstLoc, DefWithBodyId, EnumId, EnumLoc,
EnumVariantId, EnumVariantLoc, ExternBlockId, ExternBlockLoc, ExternCrateId, ExternCrateLoc,
FunctionId, FunctionLoc, GenericDefId, ImplId, ImplLoc, LocalFieldId, Macro2Id, Macro2Loc,
MacroExpander, MacroId, MacroRulesId, MacroRulesLoc, MacroRulesLocFlags, ProcMacroId,
ProcMacroLoc, StaticId, StaticLoc, StructId, StructLoc, TraitId, TraitLoc, TypeAliasId,
TypeAliasLoc, UnionId, UnionLoc, UseId, UseLoc, VariantId,
attrs::AttrFlags,
expr_store::{
Body, BodySourceMap, ExpressionStore, ExpressionStoreSourceMap, scope::ExprScopes,
Expand Down Expand Up @@ -82,6 +82,9 @@ pub trait InternDatabase: RootQueryDb {
#[salsa::interned]
fn intern_macro_rules(&self, loc: MacroRulesLoc) -> MacroRulesId;
// endregion: items

#[salsa::interned]
fn intern_block(&self, loc: BlockLoc) -> BlockId;
}

#[query_group::query_group]
Expand Down
Loading
Loading