X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDX%2FOp%2FCallRule.pm;h=17deac06436a3c06d57fb8d3958e9b9380044570;hb=02ae4168791e6bc2bebed5f455325ae727601418;hp=f3d1b4fe47780d084782539aab9215639bc3de71;hpb=e7117efc279502d901d5058abd17110ffb1554b7;p=scpubgit%2FDKit.git diff --git a/lib/DX/Op/CallRule.pm b/lib/DX/Op/CallRule.pm index f3d1b4f..17deac0 100644 --- a/lib/DX/Op/CallRule.pm +++ b/lib/DX/Op/CallRule.pm @@ -26,9 +26,8 @@ sub run { my $invoke = DX::Op::FromCode->new( code => sub { my ($self, $state) = @_; - my ($names, $body) = @{$var->bound_value}; - my %new; @new{@$names} = @args; - $state->but(scope => {})->assign_vars(%new)->then($body); + my $call = $var->bound_value->but(args => \@args); + $state->but(scope => {})->then($call); } ); my $ret_op = DX::Op::SetScope->new(