Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/moniker.rs')
-rw-r--r--crates/ide/src/moniker.rs45
1 files changed, 23 insertions, 22 deletions
diff --git a/crates/ide/src/moniker.rs b/crates/ide/src/moniker.rs
index 1b64bc9260..7b5fd651e3 100644
--- a/crates/ide/src/moniker.rs
+++ b/crates/ide/src/moniker.rs
@@ -249,10 +249,11 @@ pub(crate) fn def_to_moniker(
let module = def.module(db)?;
let krate = module.krate();
+ let edition = krate.edition(db);
let mut description = vec![];
description.extend(module.path_to_root(db).into_iter().filter_map(|x| {
Some(MonikerDescriptor {
- name: x.name(db)?.display(db).to_string(),
+ name: x.name(db)?.display(db, edition).to_string(),
desc: def_to_kind(db, x.into()).into(),
})
}));
@@ -265,7 +266,7 @@ pub(crate) fn def_to_moniker(
// Because different traits can have functions with the same name,
// we have to include the trait name as part of the moniker for uniqueness.
description.push(MonikerDescriptor {
- name: trait_.name(db).display(db).to_string(),
+ name: trait_.name(db).display(db, edition).to_string(),
desc: def_to_kind(db, trait_.into()).into(),
});
}
@@ -274,14 +275,14 @@ pub(crate) fn def_to_moniker(
// we add both the struct name and the trait name to the path
if let Some(adt) = impl_.self_ty(db).as_adt() {
description.push(MonikerDescriptor {
- name: adt.name(db).display(db).to_string(),
+ name: adt.name(db).display(db, edition).to_string(),
desc: def_to_kind(db, adt.into()).into(),
});
}
if let Some(trait_) = impl_.trait_(db) {
description.push(MonikerDescriptor {
- name: trait_.name(db).display(db).to_string(),
+ name: trait_.name(db).display(db, edition).to_string(),
desc: def_to_kind(db, trait_.into()).into(),
});
}
@@ -291,7 +292,7 @@ pub(crate) fn def_to_moniker(
if let Definition::Field(it) = def {
description.push(MonikerDescriptor {
- name: it.parent_def(db).name(db).display(db).to_string(),
+ name: it.parent_def(db).name(db).display(db, edition).to_string(),
desc: def_to_kind(db, it.parent_def(db).into()).into(),
});
}
@@ -303,7 +304,7 @@ pub(crate) fn def_to_moniker(
let parent_name = parent.name(db);
if let Some(name) = parent_name {
description.push(MonikerDescriptor {
- name: name.display(db).to_string(),
+ name: name.display(db, edition).to_string(),
desc: def_to_kind(db, parent).into(),
});
}
@@ -326,53 +327,53 @@ pub(crate) fn def_to_moniker(
return None;
}
- MonikerDescriptor { name: local.name(db).display(db).to_string(), desc }
+ MonikerDescriptor { name: local.name(db).display(db, edition).to_string(), desc }
}
Definition::Macro(m) => {
- MonikerDescriptor { name: m.name(db).display(db).to_string(), desc }
+ MonikerDescriptor { name: m.name(db).display(db, edition).to_string(), desc }
}
Definition::Function(f) => {
- MonikerDescriptor { name: f.name(db).display(db).to_string(), desc }
+ MonikerDescriptor { name: f.name(db).display(db, edition).to_string(), desc }
}
Definition::Variant(v) => {
- MonikerDescriptor { name: v.name(db).display(db).to_string(), desc }
+ MonikerDescriptor { name: v.name(db).display(db, edition).to_string(), desc }
}
Definition::Const(c) => {
- MonikerDescriptor { name: c.name(db)?.display(db).to_string(), desc }
+ MonikerDescriptor { name: c.name(db)?.display(db, edition).to_string(), desc }
}
Definition::Trait(trait_) => {
- MonikerDescriptor { name: trait_.name(db).display(db).to_string(), desc }
+ MonikerDescriptor { name: trait_.name(db).display(db, edition).to_string(), desc }
}
Definition::TraitAlias(ta) => {
- MonikerDescriptor { name: ta.name(db).display(db).to_string(), desc }
+ MonikerDescriptor { name: ta.name(db).display(db, edition).to_string(), desc }
}
Definition::TypeAlias(ta) => {
- MonikerDescriptor { name: ta.name(db).display(db).to_string(), desc }
+ MonikerDescriptor { name: ta.name(db).display(db, edition).to_string(), desc }
}
Definition::Module(m) => {
- MonikerDescriptor { name: m.name(db)?.display(db).to_string(), desc }
+ MonikerDescriptor { name: m.name(db)?.display(db, edition).to_string(), desc }
}
Definition::BuiltinType(b) => {
- MonikerDescriptor { name: b.name().display(db).to_string(), desc }
+ MonikerDescriptor { name: b.name().display(db, edition).to_string(), desc }
}
Definition::SelfType(imp) => MonikerDescriptor {
- name: imp.self_ty(db).as_adt()?.name(db).display(db).to_string(),
+ name: imp.self_ty(db).as_adt()?.name(db).display(db, edition).to_string(),
desc,
},
Definition::Field(it) => {
- MonikerDescriptor { name: it.name(db).display(db).to_string(), desc }
+ MonikerDescriptor { name: it.name(db).display(db, edition).to_string(), desc }
}
Definition::TupleField(it) => {
- MonikerDescriptor { name: it.name().display(db).to_string(), desc }
+ MonikerDescriptor { name: it.name().display(db, edition).to_string(), desc }
}
Definition::Adt(adt) => {
- MonikerDescriptor { name: adt.name(db).display(db).to_string(), desc }
+ MonikerDescriptor { name: adt.name(db).display(db, edition).to_string(), desc }
}
Definition::Static(s) => {
- MonikerDescriptor { name: s.name(db).display(db).to_string(), desc }
+ MonikerDescriptor { name: s.name(db).display(db, edition).to_string(), desc }
}
Definition::ExternCrateDecl(m) => {
- MonikerDescriptor { name: m.name(db).display(db).to_string(), desc }
+ MonikerDescriptor { name: m.name(db).display(db, edition).to_string(), desc }
}
};