diff options
Diffstat (limited to 'crates/ra_hir/src/path.rs')
-rw-r--r-- | crates/ra_hir/src/path.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/crates/ra_hir/src/path.rs b/crates/ra_hir/src/path.rs index c3d14c689..e13d84c57 100644 --- a/crates/ra_hir/src/path.rs +++ b/crates/ra_hir/src/path.rs | |||
@@ -38,6 +38,8 @@ pub enum PathKind { | |||
38 | Self_, | 38 | Self_, |
39 | Super, | 39 | Super, |
40 | Crate, | 40 | Crate, |
41 | // Absolute path | ||
42 | Abs, | ||
41 | } | 43 | } |
42 | 44 | ||
43 | impl Path { | 45 | impl Path { |
@@ -57,6 +59,11 @@ impl Path { | |||
57 | let mut segments = Vec::new(); | 59 | let mut segments = Vec::new(); |
58 | loop { | 60 | loop { |
59 | let segment = path.segment()?; | 61 | let segment = path.segment()?; |
62 | |||
63 | if segment.has_colon_colon() { | ||
64 | kind = PathKind::Abs; | ||
65 | } | ||
66 | |||
60 | match segment.kind()? { | 67 | match segment.kind()? { |
61 | ast::PathSegmentKind::Name(name) => { | 68 | ast::PathSegmentKind::Name(name) => { |
62 | let args = segment | 69 | let args = segment |