From e43a784dc89030941b0cc43309541970c59a723c Mon Sep 17 00:00:00 2001 From: David Faust Date: Mon, 13 Dec 2021 12:53:26 -0800 Subject: Get rid of lambdas with AST::ArrayElemsValues These constructs make working with the IR needlessly complicated for static analysis. Replace with simple for loops, and delete the old ArrayElemsValues::iterate () method. Fixes: #720 --- gcc/rust/hir/rust-ast-lower-expr.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'gcc/rust/hir') diff --git a/gcc/rust/hir/rust-ast-lower-expr.h b/gcc/rust/hir/rust-ast-lower-expr.h index f36096b..d6e2194 100644 --- a/gcc/rust/hir/rust-ast-lower-expr.h +++ b/gcc/rust/hir/rust-ast-lower-expr.h @@ -303,11 +303,11 @@ public: void visit (AST::ArrayElemsValues &elems) override { std::vector > elements; - elems.iterate ([&] (AST::Expr *elem) mutable -> bool { - HIR::Expr *translated_elem = ASTLoweringExpr::translate (elem); - elements.push_back (std::unique_ptr (translated_elem)); - return true; - }); + for (auto &elem : elems.get_values ()) + { + HIR::Expr *translated_elem = ASTLoweringExpr::translate (elem.get ()); + elements.push_back (std::unique_ptr (translated_elem)); + } translated_array_elems = new HIR::ArrayElemsValues (std::move (elements)); } -- cgit v1.1