diff options
author | Lukas Wirth <[email protected]> | 2021-03-20 23:59:45 +0000 |
---|---|---|
committer | Lukas Wirth <[email protected]> | 2021-03-21 00:02:01 +0000 |
commit | cbd325707bc44c08f60ee3312af815cfb96ee86a (patch) | |
tree | c1e37d5fe66d723041a6a1682125a04a88a88d19 /crates/hir/src | |
parent | 090e013161ab5b1679554ddd53683e81e3fe845a (diff) |
Track labels in scopes
Diffstat (limited to 'crates/hir/src')
-rw-r--r-- | crates/hir/src/lib.rs | 1 | ||||
-rw-r--r-- | crates/hir/src/semantics.rs | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs index 30e577671..e34be7e42 100644 --- a/crates/hir/src/lib.rs +++ b/crates/hir/src/lib.rs | |||
@@ -2199,6 +2199,7 @@ pub enum ScopeDef { | |||
2199 | ImplSelfType(Impl), | 2199 | ImplSelfType(Impl), |
2200 | AdtSelfType(Adt), | 2200 | AdtSelfType(Adt), |
2201 | Local(Local), | 2201 | Local(Local), |
2202 | Label(Label), | ||
2202 | Unknown, | 2203 | Unknown, |
2203 | } | 2204 | } |
2204 | 2205 | ||
diff --git a/crates/hir/src/semantics.rs b/crates/hir/src/semantics.rs index 15651bb22..1198e3f0b 100644 --- a/crates/hir/src/semantics.rs +++ b/crates/hir/src/semantics.rs | |||
@@ -839,6 +839,10 @@ impl<'a> SemanticsScope<'a> { | |||
839 | let parent = resolver.body_owner().unwrap(); | 839 | let parent = resolver.body_owner().unwrap(); |
840 | ScopeDef::Local(Local { parent, pat_id }) | 840 | ScopeDef::Local(Local { parent, pat_id }) |
841 | } | 841 | } |
842 | resolver::ScopeDef::Label(label_id) => { | ||
843 | let parent = resolver.body_owner().unwrap(); | ||
844 | ScopeDef::Label(Label { parent, label_id }) | ||
845 | } | ||
842 | }; | 846 | }; |
843 | f(name, def) | 847 | f(name, def) |
844 | }) | 848 | }) |