about summary refs log tree commit diff
path: root/src/librustc_resolve
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2016-05-02 18:22:03 +0200
committerGeorg Brandl <g.brandl@fz-juelich.de>2016-05-24 14:22:14 +0200
commit2e812e10f4ece10d90ae3315aba16b88c5e870eb (patch)
tree1830b86f86bf0bee4561763cbe4b1a4f183e1a3d /src/librustc_resolve
parentdd6e8d45e183861d44ed91a99f0a50403b2776a3 (diff)
downloadrust-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.rs6
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();
             }