Merge pull request #3496 from fkohlgrueber/macro-in-closure-in-if-cond

fix #3482 and add ui test for it
This commit is contained in:
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
2018-12-06 12:26:43 +01:00
committed by GitHub
2 changed files with 9 additions and 1 deletions
+1 -1
View File
@@ -70,7 +70,7 @@ fn visit_expr(&mut self, expr: &'tcx Expr) {
if let ExprKind::Closure(_, _, eid, _, _) = expr.node {
let body = self.cx.tcx.hir.body(eid);
let ex = &body.value;
if matches!(ex.node, ExprKind::Block(_, _)) {
if matches!(ex.node, ExprKind::Block(_, _)) && !in_macro(body.value.span) {
self.found_block = Some(ex);
return;
}
+8
View File
@@ -98,3 +98,11 @@ fn condition_is_unsafe_block() {
fn main() {
}
fn macro_in_closure() {
let option = Some(true);
if option.unwrap_or_else(|| unimplemented!()) {
unimplemented!()
}
}