diff options
| author | Georg Brandl <georg@python.org> | 2016-05-02 18:22:03 +0200 |
|---|---|---|
| committer | Georg Brandl <g.brandl@fz-juelich.de> | 2016-05-24 14:22:14 +0200 |
| commit | 2e812e10f4ece10d90ae3315aba16b88c5e870eb (patch) | |
| tree | 1830b86f86bf0bee4561763cbe4b1a4f183e1a3d /src/librustc_resolve | |
| parent | dd6e8d45e183861d44ed91a99f0a50403b2776a3 (diff) | |
| download | rust-2e812e10f4ece10d90ae3315aba16b88c5e870eb.tar.gz rust-2e812e10f4ece10d90ae3315aba16b88c5e870eb.zip | |
syntax/hir: give loop labels a span
This makes the "shadowing labels" warning *not* print the entire loop as a span, but only the lifetime. Also makes #31719 go away, but does not fix its root cause (the span of the expanded loop is still wonky, but not used anymore).
Diffstat (limited to 'src/librustc_resolve')
| -rw-r--r-- | src/librustc_resolve/lib.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index 61ed88ec173..0dcbb9c2771 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -3086,7 +3086,7 @@ impl<'a> Resolver<'a> { { let rib = this.label_ribs.last_mut().unwrap(); - rib.bindings.insert(mtwt::resolve(label), def); + rib.bindings.insert(mtwt::resolve(label.node), def); } visit::walk_expr(this, expr); @@ -3131,7 +3131,7 @@ impl<'a> Resolver<'a> { self.value_ribs.push(Rib::new(NormalRibKind)); self.resolve_pattern(pattern, RefutableMode, &mut HashMap::new()); - self.resolve_labeled_block(label, expr.id, block); + self.resolve_labeled_block(label.map(|l| l.node), expr.id, block); self.value_ribs.pop(); } @@ -3141,7 +3141,7 @@ impl<'a> Resolver<'a> { self.value_ribs.push(Rib::new(NormalRibKind)); self.resolve_pattern(pattern, LocalIrrefutableMode, &mut HashMap::new()); - self.resolve_labeled_block(label, expr.id, block); + self.resolve_labeled_block(label.map(|l| l.node), expr.id, block); self.value_ribs.pop(); } |
