Rust: drop extraction of anonymous canonical paths

This commit is contained in:
Paolo Tranquilli
2025-03-21 08:55:47 +01:00
parent fd84b67568
commit 04f9694f89
2 changed files with 17 additions and 18 deletions

View File

@@ -5,7 +5,6 @@ use crate::trap::{DiagnosticSeverity, TrapFile, TrapId};
use crate::trap::{Label, TrapClass};
use itertools::Either;
use ra_ap_base_db::{CrateOrigin, EditionedFileId};
use ra_ap_base_db::salsa::plumbing::AsId;
use ra_ap_hir::db::ExpandDatabase;
use ra_ap_hir::{
Adt, Crate, ItemContainer, Module, ModuleDef, PathResolution, Semantics, Type, Variant,
@@ -399,9 +398,9 @@ impl<'a> Translator<'a> {
}
fn canonical_path_from_hir_module(&self, item: Module) -> Option<String> {
if let Some(block_id) = ModuleId::from(item).containing_block() {
// this means this is a block module, i.e. a virtual module for a block scope
return Some(format!("{{{}}}", block_id.as_id().as_u32()));
if ModuleId::from(item).containing_block().is_some() {
// this means this is a block module, i.e. a virtual module for an anonymous block scope
return None;
}
if item.is_crate_root() {
return Some("crate".into());

View File

@@ -1,20 +1,20 @@
canonicalPaths
| anonymous.rs:1:1:1:26 | Use | None | None |
| anonymous.rs:3:1:32:1 | fn canonicals | repo::test | crate::anonymous::canonicals |
| anonymous.rs:4:5:4:23 | struct OtherStruct | repo::test | {0}::OtherStruct |
| anonymous.rs:6:5:8:5 | trait OtherTrait | repo::test | {0}::OtherTrait |
| anonymous.rs:7:9:7:20 | fn g | repo::test | {0}::OtherTrait::g |
| anonymous.rs:4:5:4:23 | struct OtherStruct | None | None |
| anonymous.rs:6:5:8:5 | trait OtherTrait | None | None |
| anonymous.rs:7:9:7:20 | fn g | None | None |
| anonymous.rs:10:5:12:5 | impl OtherTrait for OtherStruct { ... } | None | None |
| anonymous.rs:11:9:11:22 | fn g | repo::test | <{0}::OtherStruct as {0}::OtherTrait>::g |
| anonymous.rs:11:9:11:22 | fn g | None | None |
| anonymous.rs:14:5:16:5 | impl OtherTrait for ...::Struct { ... } | None | None |
| anonymous.rs:15:9:15:22 | fn g | repo::test | <crate::regular::Struct as {0}::OtherTrait>::g |
| anonymous.rs:15:9:15:22 | fn g | None | None |
| anonymous.rs:18:5:20:5 | impl ...::Trait for OtherStruct { ... } | None | None |
| anonymous.rs:19:9:19:22 | fn f | repo::test | <{0}::OtherStruct as crate::regular::Trait>::f |
| anonymous.rs:22:5:24:5 | fn nested | repo::test | {0}::nested |
| anonymous.rs:23:9:23:27 | struct OtherStruct | repo::test | {1}::OtherStruct |
| anonymous.rs:26:5:31:5 | fn usage | repo::test | {0}::usage |
| anonymous.rs:19:9:19:22 | fn f | None | None |
| anonymous.rs:22:5:24:5 | fn nested | None | None |
| anonymous.rs:23:9:23:27 | struct OtherStruct | None | None |
| anonymous.rs:26:5:31:5 | fn usage | None | None |
| anonymous.rs:34:1:36:1 | fn other | repo::test | crate::anonymous::other |
| anonymous.rs:35:5:35:23 | struct OtherStruct | repo::test | {36}::OtherStruct |
| anonymous.rs:35:5:35:23 | struct OtherStruct | None | None |
| lib.rs:1:1:1:14 | mod anonymous | repo::test | crate::anonymous |
| lib.rs:2:1:2:12 | mod regular | repo::test | crate::regular |
| regular.rs:1:1:2:18 | struct Struct | repo::test | crate::regular::Struct |
@@ -36,12 +36,12 @@ canonicalPaths
| regular.rs:51:5:51:18 | Use | None | None |
| regular.rs:57:1:63:1 | fn enum_match | repo::test | crate::regular::enum_match |
resolvedPaths
| anonymous.rs:27:17:27:30 | OtherStruct {...} | repo::test | {0}::OtherStruct |
| anonymous.rs:27:17:27:30 | OtherStruct {...} | None | None |
| anonymous.rs:28:9:28:9 | s | None | None |
| anonymous.rs:28:9:28:13 | s.f(...) | repo::test | <{0}::OtherStruct as crate::regular::Trait>::f |
| anonymous.rs:28:9:28:13 | s.f(...) | None | None |
| anonymous.rs:29:9:29:9 | s | None | None |
| anonymous.rs:29:9:29:13 | s.g(...) | repo::test | <{0}::OtherStruct as {0}::OtherTrait>::g |
| anonymous.rs:30:9:30:14 | nested | repo::test | {0}::nested |
| anonymous.rs:29:9:29:13 | s.g(...) | None | None |
| anonymous.rs:30:9:30:14 | nested | None | None |
| regular.rs:27:13:27:21 | Struct {...} | repo::test | crate::regular::Struct |
| regular.rs:28:5:28:5 | s | None | None |
| regular.rs:28:5:28:9 | s.f(...) | repo::test | <crate::regular::Struct as crate::regular::Trait>::f |