diff options
Diffstat (limited to 'crates/ra_hir/src/nameres.rs')
-rw-r--r-- | crates/ra_hir/src/nameres.rs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/crates/ra_hir/src/nameres.rs b/crates/ra_hir/src/nameres.rs index 44a4ddba0..7922e3f7e 100644 --- a/crates/ra_hir/src/nameres.rs +++ b/crates/ra_hir/src/nameres.rs | |||
@@ -200,7 +200,7 @@ impl ModuleScope { | |||
200 | #[derive(Debug, Clone, PartialEq, Eq, Default)] | 200 | #[derive(Debug, Clone, PartialEq, Eq, Default)] |
201 | pub struct Resolution { | 201 | pub struct Resolution { |
202 | /// None for unresolved | 202 | /// None for unresolved |
203 | pub def: PerNs<ModuleDef>, | 203 | pub def: PerNs, |
204 | /// ident by which this is imported into local scope. | 204 | /// ident by which this is imported into local scope. |
205 | pub import: Option<ImportId>, | 205 | pub import: Option<ImportId>, |
206 | } | 206 | } |
@@ -213,7 +213,7 @@ impl Resolution { | |||
213 | 213 | ||
214 | #[derive(Debug, Clone)] | 214 | #[derive(Debug, Clone)] |
215 | struct ResolvePathResult { | 215 | struct ResolvePathResult { |
216 | resolved_def: PerNs<ModuleDef>, | 216 | resolved_def: PerNs, |
217 | segment_index: Option<usize>, | 217 | segment_index: Option<usize>, |
218 | reached_fixedpoint: ReachedFixedPoint, | 218 | reached_fixedpoint: ReachedFixedPoint, |
219 | } | 219 | } |
@@ -224,7 +224,7 @@ impl ResolvePathResult { | |||
224 | } | 224 | } |
225 | 225 | ||
226 | fn with( | 226 | fn with( |
227 | resolved_def: PerNs<ModuleDef>, | 227 | resolved_def: PerNs, |
228 | reached_fixedpoint: ReachedFixedPoint, | 228 | reached_fixedpoint: ReachedFixedPoint, |
229 | segment_index: Option<usize>, | 229 | segment_index: Option<usize>, |
230 | ) -> ResolvePathResult { | 230 | ) -> ResolvePathResult { |
@@ -316,7 +316,7 @@ impl CrateDefMap { | |||
316 | db: &impl DefDatabase, | 316 | db: &impl DefDatabase, |
317 | original_module: CrateModuleId, | 317 | original_module: CrateModuleId, |
318 | path: &Path, | 318 | path: &Path, |
319 | ) -> (PerNs<ModuleDef>, Option<usize>) { | 319 | ) -> (PerNs, Option<usize>) { |
320 | let res = self.resolve_path_fp_with_macro(db, ResolveMode::Other, original_module, path); | 320 | let res = self.resolve_path_fp_with_macro(db, ResolveMode::Other, original_module, path); |
321 | (res.resolved_def, res.segment_index) | 321 | (res.resolved_def, res.segment_index) |
322 | } | 322 | } |
@@ -331,7 +331,7 @@ impl CrateDefMap { | |||
331 | path: &Path, | 331 | path: &Path, |
332 | ) -> ResolvePathResult { | 332 | ) -> ResolvePathResult { |
333 | let mut segments = path.segments.iter().enumerate(); | 333 | let mut segments = path.segments.iter().enumerate(); |
334 | let mut curr_per_ns: PerNs<ModuleDef> = match path.kind { | 334 | let mut curr_per_ns: PerNs = match path.kind { |
335 | PathKind::Crate => { | 335 | PathKind::Crate => { |
336 | PerNs::types(Module { krate: self.krate, module_id: self.root }.into()) | 336 | PerNs::types(Module { krate: self.krate, module_id: self.root }.into()) |
337 | } | 337 | } |
@@ -456,7 +456,7 @@ impl CrateDefMap { | |||
456 | ResolvePathResult::with(curr_per_ns, ReachedFixedPoint::Yes, None) | 456 | ResolvePathResult::with(curr_per_ns, ReachedFixedPoint::Yes, None) |
457 | } | 457 | } |
458 | 458 | ||
459 | fn resolve_name_in_crate_root_or_extern_prelude(&self, name: &Name) -> PerNs<ModuleDef> { | 459 | fn resolve_name_in_crate_root_or_extern_prelude(&self, name: &Name) -> PerNs { |
460 | let from_crate_root = | 460 | let from_crate_root = |
461 | self[self.root].scope.get(name).map_or_else(PerNs::none, |res| res.def); | 461 | self[self.root].scope.get(name).map_or_else(PerNs::none, |res| res.def); |
462 | let from_extern_prelude = self.resolve_name_in_extern_prelude(name); | 462 | let from_extern_prelude = self.resolve_name_in_extern_prelude(name); |
@@ -469,7 +469,7 @@ impl CrateDefMap { | |||
469 | db: &impl DefDatabase, | 469 | db: &impl DefDatabase, |
470 | module: CrateModuleId, | 470 | module: CrateModuleId, |
471 | name: &Name, | 471 | name: &Name, |
472 | ) -> PerNs<ModuleDef> { | 472 | ) -> PerNs { |
473 | // Resolve in: | 473 | // Resolve in: |
474 | // - legacy scope of macro | 474 | // - legacy scope of macro |
475 | // - current module / scope | 475 | // - current module / scope |
@@ -485,11 +485,11 @@ impl CrateDefMap { | |||
485 | from_legacy_macro.or(from_scope).or(from_extern_prelude).or(from_prelude) | 485 | from_legacy_macro.or(from_scope).or(from_extern_prelude).or(from_prelude) |
486 | } | 486 | } |
487 | 487 | ||
488 | fn resolve_name_in_extern_prelude(&self, name: &Name) -> PerNs<ModuleDef> { | 488 | fn resolve_name_in_extern_prelude(&self, name: &Name) -> PerNs { |
489 | self.extern_prelude.get(name).map_or(PerNs::none(), |&it| PerNs::types(it)) | 489 | self.extern_prelude.get(name).map_or(PerNs::none(), |&it| PerNs::types(it)) |
490 | } | 490 | } |
491 | 491 | ||
492 | fn resolve_in_prelude(&self, db: &impl DefDatabase, name: &Name) -> PerNs<ModuleDef> { | 492 | fn resolve_in_prelude(&self, db: &impl DefDatabase, name: &Name) -> PerNs { |
493 | if let Some(prelude) = self.prelude { | 493 | if let Some(prelude) = self.prelude { |
494 | let keep; | 494 | let keep; |
495 | let def_map = if prelude.krate == self.krate { | 495 | let def_map = if prelude.krate == self.krate { |