diff options
author | Philip Herron <philip.herron@embecosm.com> | 2022-10-17 17:18:30 +0100 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2022-10-19 19:32:47 +0100 |
commit | 5f25f457eca1e04e577aae8e60fe640bb32d36fc (patch) | |
tree | a7d78407c59d8614c4b20687da9421a2d3fce5f1 /gcc/rust/backend/rust-compile-block.h | |
parent | 851b9e14585160f70eb17a9b312c14e3a0d4c3ed (diff) | |
download | gcc-5f25f457eca1e04e577aae8e60fe640bb32d36fc.zip gcc-5f25f457eca1e04e577aae8e60fe640bb32d36fc.tar.gz gcc-5f25f457eca1e04e577aae8e60fe640bb32d36fc.tar.bz2 |
Add hir lowering of closure expressions
In the AST we have ClosureExprInner and ClosureExprInnerTyped the first
is the closure expression of the form:
let closure_inferred = |i| i + 1;
The second is of the form:
let closure_annotated = |i: i32| -> i32 { i + 1 };
Both of these can be seguared into a single HIR::ClosureExpr with an
optional return type and parameter types.
Addresses #195
Diffstat (limited to 'gcc/rust/backend/rust-compile-block.h')
-rw-r--r-- | gcc/rust/backend/rust-compile-block.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/rust/backend/rust-compile-block.h b/gcc/rust/backend/rust-compile-block.h index cdd17f1..8f62f45 100644 --- a/gcc/rust/backend/rust-compile-block.h +++ b/gcc/rust/backend/rust-compile-block.h @@ -57,8 +57,7 @@ public: // Empty visit for unused Expression HIR nodes. void visit (HIR::PathInExpression &) override {} void visit (HIR::QualifiedPathInExpression &) override {} - void visit (HIR::ClosureExprInner &) override {} - void visit (HIR::ClosureExprInnerTyped &) override {} + void visit (HIR::ClosureExpr &) override {} void visit (HIR::StructExprFieldIdentifier &) override {} void visit (HIR::StructExprFieldIdentifierValue &) override {} void visit (HIR::StructExprFieldIndexValue &) override {} @@ -146,8 +145,7 @@ public: // Empty visit for unused Expression HIR nodes. void visit (HIR::PathInExpression &) override {} void visit (HIR::QualifiedPathInExpression &) override {} - void visit (HIR::ClosureExprInner &) override {} - void visit (HIR::ClosureExprInnerTyped &) override {} + void visit (HIR::ClosureExpr &) override {} void visit (HIR::StructExprFieldIdentifier &) override {} void visit (HIR::StructExprFieldIdentifierValue &) override {} void visit (HIR::StructExprFieldIndexValue &) override {} |