diff options
author | uHOOCCOOHu <[email protected]> | 2019-09-15 12:48:24 +0100 |
---|---|---|
committer | uHOOCCOOHu <[email protected]> | 2019-09-15 12:48:24 +0100 |
commit | de9670fe456d89f97e8044d4e0919d2c16d1087f (patch) | |
tree | 495c5d987e0f2cd754c3e4e6b20adafcf1f23403 /crates/ra_hir/src/nameres.rs | |
parent | 4926bed42680d329f906be93450bec6b2ba0e99b (diff) |
Move store TypeRef of type based path in PathKind
Diffstat (limited to 'crates/ra_hir/src/nameres.rs')
-rw-r--r-- | crates/ra_hir/src/nameres.rs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/crates/ra_hir/src/nameres.rs b/crates/ra_hir/src/nameres.rs index be1cc76b6..b808a0c36 100644 --- a/crates/ra_hir/src/nameres.rs +++ b/crates/ra_hir/src/nameres.rs | |||
@@ -382,7 +382,7 @@ impl CrateDefMap { | |||
382 | return ResolvePathResult::empty(ReachedFixedPoint::No); // extern crate declarations can add to the extern prelude | 382 | return ResolvePathResult::empty(ReachedFixedPoint::No); // extern crate declarations can add to the extern prelude |
383 | } | 383 | } |
384 | } | 384 | } |
385 | PathKind::Type => { | 385 | PathKind::Type(_) => { |
386 | // This is handled in `infer::infer_path_expr` | 386 | // This is handled in `infer::infer_path_expr` |
387 | // The result returned here does not matter | 387 | // The result returned here does not matter |
388 | return ResolvePathResult::empty(ReachedFixedPoint::Yes); | 388 | return ResolvePathResult::empty(ReachedFixedPoint::Yes); |
@@ -406,11 +406,8 @@ impl CrateDefMap { | |||
406 | curr_per_ns = match curr { | 406 | curr_per_ns = match curr { |
407 | ModuleDef::Module(module) => { | 407 | ModuleDef::Module(module) => { |
408 | if module.krate != self.krate { | 408 | if module.krate != self.krate { |
409 | let path = Path { | 409 | let path = |
410 | segments: path.segments[i..].to_vec(), | 410 | Path { segments: path.segments[i..].to_vec(), kind: PathKind::Self_ }; |
411 | kind: PathKind::Self_, | ||
412 | type_ref: None, | ||
413 | }; | ||
414 | log::debug!("resolving {:?} in other crate", path); | 411 | log::debug!("resolving {:?} in other crate", path); |
415 | let defp_map = db.crate_def_map(module.krate); | 412 | let defp_map = db.crate_def_map(module.krate); |
416 | let (def, s) = defp_map.resolve_path(db, module.module_id, &path); | 413 | let (def, s) = defp_map.resolve_path(db, module.module_id, &path); |