Rustup to *rustc 1.19.0-nightly (0418fa9d3 2017-06-04)*
This commit is contained in:
parent
5a6e48fd27
commit
01cae3fd6d
@ -129,16 +129,13 @@ pub fn for_loop(expr: &hir::Expr) -> Option<(&hir::Pat, &hir::Expr, &hir::Expr)>
|
|||||||
let hir::ExprCall(_, ref iterargs) = iterexpr.node,
|
let hir::ExprCall(_, ref iterargs) = iterexpr.node,
|
||||||
iterargs.len() == 1 && arms.len() == 1 && arms[0].guard.is_none(),
|
iterargs.len() == 1 && arms.len() == 1 && arms[0].guard.is_none(),
|
||||||
let hir::ExprLoop(ref block, _, _) = arms[0].body.node,
|
let hir::ExprLoop(ref block, _, _) = arms[0].body.node,
|
||||||
block.stmts.is_empty(),
|
block.expr.is_none(),
|
||||||
let Some(ref loopexpr) = block.expr,
|
let [ ref let_stmt, ref body ] = *block.stmts,
|
||||||
let hir::ExprMatch(_, ref innerarms, hir::MatchSource::ForLoopDesugar) = loopexpr.node,
|
let hir::StmtDecl(ref decl, _) = let_stmt.node,
|
||||||
innerarms.len() == 2 && innerarms[0].pats.len() == 1,
|
let hir::DeclLocal(ref decl) = decl.node,
|
||||||
let hir::PatKind::TupleStruct(_, ref somepats, _) = innerarms[0].pats[0].node,
|
let hir::StmtExpr(ref expr, _) = body.node,
|
||||||
somepats.len() == 1
|
|
||||||
], {
|
], {
|
||||||
return Some((&somepats[0],
|
return Some((&*decl.pat, &iterargs[0], expr));
|
||||||
&iterargs[0],
|
|
||||||
&innerarms[0].body));
|
|
||||||
}}
|
}}
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user