Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/nameres/collector.rs')
-rw-r--r--crates/hir-def/src/nameres/collector.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/crates/hir-def/src/nameres/collector.rs b/crates/hir-def/src/nameres/collector.rs
index ae8f028e48..0a6cd0fe9e 100644
--- a/crates/hir-def/src/nameres/collector.rs
+++ b/crates/hir-def/src/nameres/collector.rs
@@ -534,8 +534,7 @@ impl DefCollector<'_> {
Edition::Edition2015 => name![rust_2015],
Edition::Edition2018 => name![rust_2018],
Edition::Edition2021 => name![rust_2021],
- // FIXME: update this when rust_2024 exists
- Edition::Edition2024 => name![rust_2021],
+ Edition::Edition2024 => name![rust_2024],
};
let path_kind = match self.def_map.data.edition {
@@ -1918,7 +1917,7 @@ impl ModCollector<'_, '_> {
}
fn collect_module(&mut self, module_id: FileItemTreeId<Mod>, attrs: &Attrs) {
- let path_attr = attrs.by_key("path").string_value();
+ let path_attr = attrs.by_key("path").string_value_unescape();
let is_macro_use = attrs.by_key("macro_use").exists();
let module = &self.item_tree[module_id];
match &module.kind {
@@ -1932,7 +1931,8 @@ impl ModCollector<'_, '_> {
module_id,
);
- let Some(mod_dir) = self.mod_dir.descend_into_definition(&module.name, path_attr)
+ let Some(mod_dir) =
+ self.mod_dir.descend_into_definition(&module.name, path_attr.as_deref())
else {
return;
};
@@ -1953,8 +1953,12 @@ impl ModCollector<'_, '_> {
ModKind::Outline => {
let ast_id = AstId::new(self.file_id(), module.ast_id);
let db = self.def_collector.db;
- match self.mod_dir.resolve_declaration(db, self.file_id(), &module.name, path_attr)
- {
+ match self.mod_dir.resolve_declaration(
+ db,
+ self.file_id(),
+ &module.name,
+ path_attr.as_deref(),
+ ) {
Ok((file_id, is_mod_rs, mod_dir)) => {
let item_tree = db.file_item_tree(file_id.into());
let krate = self.def_collector.def_map.krate;