summaryrefslogtreecommitdiff
path: root/src/op.cc
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2012-03-03 01:17:21 -0600
committerJohn Wiegley <johnw@newartisans.com>2012-03-05 05:03:51 -0600
commitc8c2a17e282c2cbf3c0edb1b756e16be58328331 (patch)
treedecf0c8d24db423a5415668727da26a6897800be /src/op.cc
parent35ace8816adb76e80e99afb947d66777b31ba43f (diff)
downloadfork-ledger-c8c2a17e282c2cbf3c0edb1b756e16be58328331.tar.gz
fork-ledger-c8c2a17e282c2cbf3c0edb1b756e16be58328331.tar.bz2
fork-ledger-c8c2a17e282c2cbf3c0edb1b756e16be58328331.zip
Fixed invocation of lambda expressions
foo = x, y, z -> print(x, y, z) foo(1, 2, 3) However, this still does not work: (x, y, z -> print(x, y, z))(1, 2, 3)
Diffstat (limited to 'src/op.cc')
-rw-r--r--src/op.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/op.cc b/src/op.cc
index 8e9df812..bd2cc32f 100644
--- a/src/op.cc
+++ b/src/op.cc
@@ -288,7 +288,7 @@ value_t expr_t::op_t::calc(scope_t& scope, ptr_op_t * locus, const int depth)
}
case O_LAMBDA: {
- call_scope_t& call_args(downcast<call_scope_t>(scope));
+ call_scope_t& call_args(find_scope<call_scope_t>(scope, true));
std::size_t args_count(call_args.size());
std::size_t args_index(0);
symbol_scope_t call_scope(call_args);