]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc/middle/cfg/construct.rs
Remove random Idents outside of libsyntax
[rust.git] / src / librustc / middle / cfg / construct.rs
index 4d79867e5d2648ca5f1ce42079b7e78881059246..4dd0cdb1873a0f7d13b1d3ef8fd3cfd4ea9bb79e 100644 (file)
@@ -284,7 +284,7 @@ fn expr(&mut self, expr: &hir::Expr, pred: CFGIndex) -> CFGIndex {
             }
 
             hir::ExprBreak(label) => {
-                let loop_scope = self.find_scope(expr, label);
+                let loop_scope = self.find_scope(expr, label.map(|l| l.node.name));
                 let b = self.add_ast_node(expr.id, &[pred]);
                 self.add_exiting_edge(expr, b,
                                       loop_scope, loop_scope.break_index);
@@ -292,7 +292,7 @@ fn expr(&mut self, expr: &hir::Expr, pred: CFGIndex) -> CFGIndex {
             }
 
             hir::ExprAgain(label) => {
-                let loop_scope = self.find_scope(expr, label);
+                let loop_scope = self.find_scope(expr, label.map(|l| l.node.name));
                 let a = self.add_ast_node(expr.id, &[pred]);
                 self.add_exiting_edge(expr, a,
                                       loop_scope, loop_scope.continue_index);
@@ -354,7 +354,6 @@ fn expr(&mut self, expr: &hir::Expr, pred: CFGIndex) -> CFGIndex {
             hir::ExprAddrOf(_, ref e) |
             hir::ExprCast(ref e, _) |
             hir::ExprUnary(_, ref e) |
-            hir::ExprParen(ref e) |
             hir::ExprField(ref e, _) |
             hir::ExprTupField(ref e, _) => {
                 self.straightline(expr, pred, Some(&**e).into_iter())
@@ -587,7 +586,7 @@ fn add_returning_edge(&mut self,
 
     fn find_scope(&self,
                   expr: &hir::Expr,
-                  label: Option<ast::Ident>) -> LoopScope {
+                  label: Option<ast::Name>) -> LoopScope {
         if label.is_none() {
             return *self.loop_scopes.last().unwrap();
         }