From 61db846ac9773bb2c5aecbab1ba10282869e3e9f Mon Sep 17 00:00:00 2001 From: wan-nyan-wan Date: Wed, 13 Oct 2021 01:28:33 +0900 Subject: remove AST::BlockExpr lambda and add get_statements Signed-off-by: Kazuki Hanai --- gcc/rust/hir/rust-ast-lower.cc | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'gcc/rust/hir') diff --git a/gcc/rust/hir/rust-ast-lower.cc b/gcc/rust/hir/rust-ast-lower.cc index ed0774c..3a675b7 100644 --- a/gcc/rust/hir/rust-ast-lower.cc +++ b/gcc/rust/hir/rust-ast-lower.cc @@ -64,16 +64,17 @@ ASTLoweringBlock::visit (AST::BlockExpr &expr) { std::vector > block_stmts; bool block_did_terminate = false; - expr.iterate_stmts ([&] (AST::Stmt *s) mutable -> bool { - if (block_did_terminate) - rust_warning_at (s->get_locus (), 0, "unreachable statement"); - - bool terminated = false; - auto translated_stmt = ASTLoweringStmt::translate (s, &terminated); - block_stmts.push_back (std::unique_ptr (translated_stmt)); - block_did_terminate |= terminated; - return true; - }); + + for (auto &s : expr.get_statements ()) + { + if (block_did_terminate) + rust_warning_at (s->get_locus (), 0, "unreachable statement"); + + bool terminated = false; + auto translated_stmt = ASTLoweringStmt::translate (s.get (), &terminated); + block_stmts.push_back (std::unique_ptr (translated_stmt)); + block_did_terminate |= terminated; + } if (expr.has_tail_expr () && block_did_terminate) { -- cgit v1.1