aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/hir
diff options
context:
space:
mode:
authorDavid Faust <david.faust@oracle.com>2021-12-13 12:53:26 -0800
committerDavid Faust <david.faust@oracle.com>2021-12-13 14:34:45 -0800
commite43a784dc89030941b0cc43309541970c59a723c (patch)
tree2249ba90aae150b0f17ad44179d35c34c2d7bc0e /gcc/rust/hir
parent0024bc2f028369b871a65ceb11b2fddfb0f9c3aa (diff)
downloadgcc-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.h10
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));
}