Skip to content

Commit edb804a

Browse files
Don't hash the SyntaxKind in the ast id
There is no need to, it's already stored in the `kind`.
1 parent 3816d0a commit edb804a

File tree

4 files changed

+36
-41
lines changed

4 files changed

+36
-41
lines changed

crates/hir-def/src/item_tree/tests.rs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ use a::{c, d::{e}};
3535
#![no_std]
3636
#![doc = " another file comment"]
3737
38-
// AstId: ExternCrate[5A82, 0]
38+
// AstId: ExternCrate[070B, 0]
3939
pub(self) extern crate self as renamed;
4040
41-
// AstId: ExternCrate[7E1C, 0]
41+
// AstId: ExternCrate[1EA5, 0]
4242
pub(in super) extern crate bli;
4343
4444
// AstId: Use[0000, 0]
@@ -78,15 +78,15 @@ extern "C" {
7878
// AstId: ExternBlock[0000, 0]
7979
extern {
8080
#[on_extern_type]
81-
// AstId: TypeAlias[9FDF, 0]
81+
// AstId: TypeAlias[A09C, 0]
8282
pub(self) type ExType;
8383
8484
#[on_extern_static]
85-
// AstId: Static[43C1, 0]
85+
// AstId: Static[D85E, 0]
8686
pub(self) static EX_STATIC = _;
8787
8888
#[on_extern_fn]
89-
// AstId: Fn[452D, 0]
89+
// AstId: Fn[B240, 0]
9090
pub(self) fn ex_fn;
9191
}
9292
"#]],
@@ -124,20 +124,20 @@ enum E {
124124
}
125125
"#,
126126
expect![[r#"
127-
// AstId: Struct[DFF3, 0]
127+
// AstId: Struct[ED35, 0]
128128
pub(self) struct Unit;
129129
130130
#[derive(Debug)]
131-
// AstId: Struct[C7A1, 0]
131+
// AstId: Struct[A47C, 0]
132132
pub(self) struct Struct { ... }
133133
134-
// AstId: Struct[DAC2, 0]
134+
// AstId: Struct[C8C9, 0]
135135
pub(self) struct Tuple(...);
136136
137-
// AstId: Union[2DBB, 0]
137+
// AstId: Union[2797, 0]
138138
pub(self) union Ize { ... }
139139
140-
// AstId: Enum[7FF8, 0]
140+
// AstId: Enum[7D23, 0]
141141
pub(self) enum E { ... }
142142
"#]],
143143
);
@@ -162,18 +162,18 @@ trait Tr: SuperTrait + 'lifetime {
162162
}
163163
"#,
164164
expect![[r#"
165-
// AstId: Static[B393, 0]
165+
// AstId: Static[F7C1, 0]
166166
pub static ST = _;
167167
168-
// AstId: Const[B309, 0]
168+
// AstId: Const[84BB, 0]
169169
pub(self) const _ = _;
170170
171171
#[attr]
172172
#[inner_attr_in_fn]
173-
// AstId: Fn[75E3, 0]
173+
// AstId: Fn[BE8F, 0]
174174
pub(self) fn f;
175175
176-
// AstId: Trait[2998, 0]
176+
// AstId: Trait[9320, 0]
177177
pub(self) trait Tr { ... }
178178
"#]],
179179
);
@@ -197,16 +197,16 @@ mod outline;
197197
expect![[r##"
198198
#[doc = " outer"]
199199
#[doc = " inner"]
200-
// AstId: Module[CF93, 0]
200+
// AstId: Module[03AE, 0]
201201
pub(self) mod inline {
202202
// AstId: Use[0000, 0]
203203
pub(self) use super::*;
204204
205-
// AstId: Fn[1B26, 0]
205+
// AstId: Fn[2A78, 0]
206206
pub(self) fn fn_in_module;
207207
}
208208
209-
// AstId: Module[8994, 0]
209+
// AstId: Module[C08B, 0]
210210
pub(self) mod outline;
211211
"##]],
212212
);
@@ -225,13 +225,13 @@ pub macro m2() {}
225225
m!();
226226
"#,
227227
expect![[r#"
228-
// AstId: MacroRules[88CE, 0]
228+
// AstId: MacroRules[7E68, 0]
229229
macro_rules! m { ... }
230230
231-
// AstId: MacroDef[DC34, 0]
231+
// AstId: MacroDef[1C1E, 0]
232232
pub macro m2 { ... }
233233
234-
// AstId: MacroCall[612F, 0], SyntaxContextId: ROOT2024, ExpandTo: Items
234+
// AstId: MacroCall[7E68, 0], SyntaxContextId: ROOT2024, ExpandTo: Items
235235
m!(...);
236236
"#]],
237237
);
@@ -244,7 +244,7 @@ fn pub_self() {
244244
pub(self) struct S;
245245
"#,
246246
expect![[r#"
247-
// AstId: Struct[42E2, 0]
247+
// AstId: Struct[5024, 0]
248248
pub(self) struct S;
249249
"#]],
250250
)

crates/hir-def/src/macro_expansion_tests/mbe.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ macro_rules! f {
3535
};
3636
}
3737
38-
struct#0:MacroRules[8C8E, 0]@58..64#14336# MyTraitMap2#0:MacroCall[D499, 0]@31..42#ROOT2024# {#0:MacroRules[8C8E, 0]@72..73#14336#
39-
map#0:MacroRules[8C8E, 0]@86..89#14336#:#0:MacroRules[8C8E, 0]@89..90#14336# #0:MacroRules[8C8E, 0]@89..90#14336#::#0:MacroRules[8C8E, 0]@91..93#14336#std#0:MacroRules[8C8E, 0]@93..96#14336#::#0:MacroRules[8C8E, 0]@96..98#14336#collections#0:MacroRules[8C8E, 0]@98..109#14336#::#0:MacroRules[8C8E, 0]@109..111#14336#HashSet#0:MacroRules[8C8E, 0]@111..118#14336#<#0:MacroRules[8C8E, 0]@118..119#14336#(#0:MacroRules[8C8E, 0]@119..120#14336#)#0:MacroRules[8C8E, 0]@120..121#14336#>#0:MacroRules[8C8E, 0]@121..122#14336#,#0:MacroRules[8C8E, 0]@122..123#14336#
40-
}#0:MacroRules[8C8E, 0]@132..133#14336#
38+
struct#0:MacroRules[BE8F, 0]@58..64#14336# MyTraitMap2#0:MacroCall[BE8F, 0]@31..42#ROOT2024# {#0:MacroRules[BE8F, 0]@72..73#14336#
39+
map#0:MacroRules[BE8F, 0]@86..89#14336#:#0:MacroRules[BE8F, 0]@89..90#14336# #0:MacroRules[BE8F, 0]@89..90#14336#::#0:MacroRules[BE8F, 0]@91..93#14336#std#0:MacroRules[BE8F, 0]@93..96#14336#::#0:MacroRules[BE8F, 0]@96..98#14336#collections#0:MacroRules[BE8F, 0]@98..109#14336#::#0:MacroRules[BE8F, 0]@109..111#14336#HashSet#0:MacroRules[BE8F, 0]@111..118#14336#<#0:MacroRules[BE8F, 0]@118..119#14336#(#0:MacroRules[BE8F, 0]@119..120#14336#)#0:MacroRules[BE8F, 0]@120..121#14336#>#0:MacroRules[BE8F, 0]@121..122#14336#,#0:MacroRules[BE8F, 0]@122..123#14336#
40+
}#0:MacroRules[BE8F, 0]@132..133#14336#
4141
"#]],
4242
);
4343
}
@@ -75,12 +75,12 @@ macro_rules! f {
7575
};
7676
}
7777
78-
fn#0:MacroCall[D499, 0]@30..32#ROOT2024# main#0:MacroCall[D499, 0]@33..37#ROOT2024#(#0:MacroCall[D499, 0]@37..38#ROOT2024#)#0:MacroCall[D499, 0]@38..39#ROOT2024# {#0:MacroCall[D499, 0]@40..41#ROOT2024#
79-
1#0:MacroCall[D499, 0]@50..51#ROOT2024#;#0:MacroCall[D499, 0]@51..52#ROOT2024#
80-
1.0#0:MacroCall[D499, 0]@61..64#ROOT2024#;#0:MacroCall[D499, 0]@64..65#ROOT2024#
81-
(#0:MacroCall[D499, 0]@74..75#ROOT2024#(#0:MacroCall[D499, 0]@75..76#ROOT2024#1#0:MacroCall[D499, 0]@76..77#ROOT2024#,#0:MacroCall[D499, 0]@77..78#ROOT2024# )#0:MacroCall[D499, 0]@78..79#ROOT2024#,#0:MacroCall[D499, 0]@79..80#ROOT2024# )#0:MacroCall[D499, 0]@80..81#ROOT2024#.#0:MacroCall[D499, 0]@81..82#ROOT2024#0#0:MacroCall[D499, 0]@82..85#ROOT2024#.#0:MacroCall[D499, 0]@82..85#ROOT2024#0#0:MacroCall[D499, 0]@82..85#ROOT2024#;#0:MacroCall[D499, 0]@85..86#ROOT2024#
82-
let#0:MacroCall[D499, 0]@95..98#ROOT2024# x#0:MacroCall[D499, 0]@99..100#ROOT2024# =#0:MacroCall[D499, 0]@101..102#ROOT2024# 1#0:MacroCall[D499, 0]@103..104#ROOT2024#;#0:MacroCall[D499, 0]@104..105#ROOT2024#
83-
}#0:MacroCall[D499, 0]@110..111#ROOT2024#
78+
fn#0:MacroCall[BE8F, 0]@30..32#ROOT2024# main#0:MacroCall[BE8F, 0]@33..37#ROOT2024#(#0:MacroCall[BE8F, 0]@37..38#ROOT2024#)#0:MacroCall[BE8F, 0]@38..39#ROOT2024# {#0:MacroCall[BE8F, 0]@40..41#ROOT2024#
79+
1#0:MacroCall[BE8F, 0]@50..51#ROOT2024#;#0:MacroCall[BE8F, 0]@51..52#ROOT2024#
80+
1.0#0:MacroCall[BE8F, 0]@61..64#ROOT2024#;#0:MacroCall[BE8F, 0]@64..65#ROOT2024#
81+
(#0:MacroCall[BE8F, 0]@74..75#ROOT2024#(#0:MacroCall[BE8F, 0]@75..76#ROOT2024#1#0:MacroCall[BE8F, 0]@76..77#ROOT2024#,#0:MacroCall[BE8F, 0]@77..78#ROOT2024# )#0:MacroCall[BE8F, 0]@78..79#ROOT2024#,#0:MacroCall[BE8F, 0]@79..80#ROOT2024# )#0:MacroCall[BE8F, 0]@80..81#ROOT2024#.#0:MacroCall[BE8F, 0]@81..82#ROOT2024#0#0:MacroCall[BE8F, 0]@82..85#ROOT2024#.#0:MacroCall[BE8F, 0]@82..85#ROOT2024#0#0:MacroCall[BE8F, 0]@82..85#ROOT2024#;#0:MacroCall[BE8F, 0]@85..86#ROOT2024#
82+
let#0:MacroCall[BE8F, 0]@95..98#ROOT2024# x#0:MacroCall[BE8F, 0]@99..100#ROOT2024# =#0:MacroCall[BE8F, 0]@101..102#ROOT2024# 1#0:MacroCall[BE8F, 0]@103..104#ROOT2024#;#0:MacroCall[BE8F, 0]@104..105#ROOT2024#
83+
}#0:MacroCall[BE8F, 0]@110..111#ROOT2024#
8484
8585
8686
"#]],
@@ -171,7 +171,7 @@ fn main(foo: ()) {
171171
}
172172
173173
fn main(foo: ()) {
174-
/* error: unresolved macro unresolved */"helloworld!"#0:Fn[B9C7, 0]@236..321#ROOT2024#;
174+
/* error: unresolved macro unresolved */"helloworld!"#0:Fn[15AE, 0]@236..321#ROOT2024#;
175175
}
176176
}
177177
@@ -197,7 +197,7 @@ macro_rules! mk_struct {
197197
#[macro_use]
198198
mod foo;
199199
200-
struct#1:MacroRules[E572, 0]@59..65#14336# Foo#0:MacroCall[BDD3, 0]@32..35#ROOT2024#(#1:MacroRules[E572, 0]@70..71#14336#u32#0:MacroCall[BDD3, 0]@41..44#ROOT2024#)#1:MacroRules[E572, 0]@74..75#14336#;#1:MacroRules[E572, 0]@75..76#14336#
200+
struct#1:MacroRules[DB0C, 0]@59..65#14336# Foo#0:MacroCall[DB0C, 0]@32..35#ROOT2024#(#1:MacroRules[DB0C, 0]@70..71#14336#u32#0:MacroCall[DB0C, 0]@41..44#ROOT2024#)#1:MacroRules[DB0C, 0]@74..75#14336#;#1:MacroRules[DB0C, 0]@75..76#14336#
201201
"#]],
202202
);
203203
}

crates/hir-def/src/macro_expansion_tests/proc_macros.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,9 @@ fn foo(&self) {
181181
self.0. 1;
182182
}
183183
184-
fn#0:Fn[4D85, 0]@45..47#ROOT2024# foo#0:Fn[4D85, 0]@48..51#ROOT2024#(#0:Fn[4D85, 0]@51..52#ROOT2024#&#0:Fn[4D85, 0]@52..53#ROOT2024#self#0:Fn[4D85, 0]@53..57#ROOT2024# )#0:Fn[4D85, 0]@57..58#ROOT2024# {#0:Fn[4D85, 0]@59..60#ROOT2024#
185-
self#0:Fn[4D85, 0]@65..69#ROOT2024# .#0:Fn[4D85, 0]@69..70#ROOT2024#0#0:Fn[4D85, 0]@70..71#ROOT2024#.#0:Fn[4D85, 0]@71..72#ROOT2024#1#0:Fn[4D85, 0]@73..74#ROOT2024#;#0:Fn[4D85, 0]@74..75#ROOT2024#
186-
}#0:Fn[4D85, 0]@76..77#ROOT2024#"#]],
184+
fn#0:Fn[8A31, 0]@45..47#ROOT2024# foo#0:Fn[8A31, 0]@48..51#ROOT2024#(#0:Fn[8A31, 0]@51..52#ROOT2024#&#0:Fn[8A31, 0]@52..53#ROOT2024#self#0:Fn[8A31, 0]@53..57#ROOT2024# )#0:Fn[8A31, 0]@57..58#ROOT2024# {#0:Fn[8A31, 0]@59..60#ROOT2024#
185+
self#0:Fn[8A31, 0]@65..69#ROOT2024# .#0:Fn[8A31, 0]@69..70#ROOT2024#0#0:Fn[8A31, 0]@70..71#ROOT2024#.#0:Fn[8A31, 0]@71..72#ROOT2024#1#0:Fn[8A31, 0]@73..74#ROOT2024#;#0:Fn[8A31, 0]@74..75#ROOT2024#
186+
}#0:Fn[8A31, 0]@76..77#ROOT2024#"#]],
187187
);
188188
}
189189

crates/span/src/ast_id.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use std::{
3030
use la_arena::{Arena, Idx, RawIdx};
3131
use rustc_hash::{FxBuildHasher, FxHashMap};
3232
use syntax::{
33-
AstNode, AstPtr, SyntaxKind, SyntaxNode, SyntaxNodePtr,
33+
AstNode, AstPtr, SyntaxNode, SyntaxNodePtr,
3434
ast::{self, HasName},
3535
match_ast,
3636
};
@@ -278,7 +278,6 @@ impl<N> FileAstId<N> {
278278

279279
#[derive(Hash)]
280280
struct ErasedHasNameFileAstId<'a> {
281-
kind: SyntaxKind,
282281
name: &'a str,
283282
}
284283

@@ -433,15 +432,13 @@ macro_rules! register_has_name_ast_id {
433432
)+
434433

435434
fn has_name_ast_id(node: &SyntaxNode, index_map: &mut ErasedAstIdNextIndexMap) -> Option<ErasedFileAstId> {
436-
let kind = node.kind();
437435
match_ast! {
438436
match node {
439437
$(
440438
ast::$ident(node) => {
441439
let name = node.$name_method();
442440
let name = name.as_ref().map_or("", |it| it.text_non_mutable());
443441
let result = ErasedHasNameFileAstId {
444-
kind,
445442
name,
446443
};
447444
Some(index_map.new_id(ErasedFileAstIdKind::$ident, result))
@@ -483,15 +480,13 @@ macro_rules! register_assoc_item_ast_id {
483480
index_map: &mut ErasedAstIdNextIndexMap,
484481
parent: Option<&ErasedFileAstId>,
485482
) -> Option<ErasedFileAstId> {
486-
let kind = node.kind();
487483
match_ast! {
488484
match node {
489485
$(
490486
ast::$ident(node) => {
491487
let name = $name_callback(node);
492488
let name = name.as_ref().map_or("", |it| it.text_non_mutable());
493489
let properties = ErasedHasNameFileAstId {
494-
kind,
495490
name,
496491
};
497492
let result = ErasedAssocItemFileAstId {

0 commit comments

Comments
 (0)