diff options
author | David Faust <david.faust@oracle.com> | 2021-12-13 12:53:26 -0800 |
---|---|---|
committer | David Faust <david.faust@oracle.com> | 2021-12-13 14:34:45 -0800 |
commit | e43a784dc89030941b0cc43309541970c59a723c (patch) | |
tree | 2249ba90aae150b0f17ad44179d35c34c2d7bc0e /gcc/rust/hir | |
parent | 0024bc2f028369b871a65ceb11b2fddfb0f9c3aa (diff) | |
download | gcc-e43a784dc89030941b0cc43309541970c59a723c.zip gcc-e43a784dc89030941b0cc43309541970c59a723c.tar.gz gcc-e43a784dc89030941b0cc43309541970c59a723c.tar.bz2 |
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
Diffstat (limited to 'gcc/rust/hir')
-rw-r--r-- | gcc/rust/hir/rust-ast-lower-expr.h | 10 |
1 files changed, 5 insertions, 5 deletions
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<std::unique_ptr<HIR::Expr> > elements; - elems.iterate ([&] (AST::Expr *elem) mutable -> bool { - HIR::Expr *translated_elem = ASTLoweringExpr::translate (elem); - elements.push_back (std::unique_ptr<HIR::Expr> (translated_elem)); - return true; - }); + for (auto &elem : elems.get_values ()) + { + HIR::Expr *translated_elem = ASTLoweringExpr::translate (elem.get ()); + elements.push_back (std::unique_ptr<HIR::Expr> (translated_elem)); + } translated_array_elems = new HIR::ArrayElemsValues (std::move (elements)); } |