Merge pull request #1251 from Manishearth/fix_diverging_sub_expr

correctly traverse match expressions for diverging_sub_expr
This commit is contained in:
Martin Carton 2016-10-01 14:49:38 +02:00 committed by GitHub
commit 9807c47e42
2 changed files with 5 additions and 1 deletions

View file

@ -104,7 +104,7 @@ impl<'a, 'tcx> DivergenceVisitor<'a, 'tcx> {
self.visit_expr(guard);
}
// make sure top level arm expressions aren't linted
walk_expr(self, &*arm.body);
self.maybe_walk_expr(&*arm.body);
}
}
_ => walk_expr(self, e),

View file

@ -31,6 +31,10 @@ fn foobar() {
8 => break,
9 => diverge(),
3 => (println!("moo"), diverge()), //~ ERROR sub-expression diverges
10 => match 42 {
99 => return,
_ => ((), panic!("boo")),
},
_ => (println!("boo"), break), //~ ERROR sub-expression diverges
};
}