Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-expand/src/name.rs')
-rw-r--r--crates/hir-expand/src/name.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/crates/hir-expand/src/name.rs b/crates/hir-expand/src/name.rs
index 267d545833..54a61a096d 100644
--- a/crates/hir-expand/src/name.rs
+++ b/crates/hir-expand/src/name.rs
@@ -80,11 +80,20 @@ impl Name {
Name { symbol: Symbol::intern(text), ctx: () }
}
- pub fn new(text: &str, ctx: SyntaxContextId) -> Name {
+ pub fn new(text: &str, mut ctx: SyntaxContextId) -> Name {
+ // For comparisons etc. we remove the edition, because sometimes we search for some `Name`
+ // and we don't know which edition it came from.
+ // Can't do that for all `SyntaxContextId`s because it breaks Salsa.
+ ctx.remove_root_edition();
_ = ctx;
Self::new_text(text)
}
+ pub fn new_root(text: &str) -> Name {
+ // The edition doesn't matter for hygiene.
+ Self::new(text, SyntaxContextId::root(Edition::Edition2015))
+ }
+
pub fn new_tuple_field(idx: usize) -> Name {
Name { symbol: Symbol::intern(&idx.to_string()), ctx: () }
}