aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/path.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/path.rs')
-rw-r--r--crates/ra_hir/src/path.rs7
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
43impl Path { 45impl 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