diff options
Diffstat (limited to 'crates/ra_hir_def/src/path/lower.rs')
-rw-r--r-- | crates/ra_hir_def/src/path/lower.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/ra_hir_def/src/path/lower.rs b/crates/ra_hir_def/src/path/lower.rs index 62aafd508..0934520d7 100644 --- a/crates/ra_hir_def/src/path/lower.rs +++ b/crates/ra_hir_def/src/path/lower.rs | |||
@@ -101,8 +101,12 @@ pub(super) fn lower_path(mut path: ast::Path, hygiene: &Hygiene) -> Option<Path> | |||
101 | break; | 101 | break; |
102 | } | 102 | } |
103 | ast::PathSegmentKind::SuperKw => { | 103 | ast::PathSegmentKind::SuperKw => { |
104 | kind = PathKind::Super(1); | 104 | let nested_super_count = if let PathKind::Super(n) = kind { |
105 | break; | 105 | n |
106 | } else { | ||
107 | 0 | ||
108 | }; | ||
109 | kind = PathKind::Super(nested_super_count + 1); | ||
106 | } | 110 | } |
107 | } | 111 | } |
108 | path = match qualifier(&path) { | 112 | path = match qualifier(&path) { |