X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDX%2FOp%2FProp.pm;h=c2b494bc1d5578614794061df0804c9855c8e3a7;hb=165d0b2c5be60fd1244429aab0bf82795db83459;hp=dc4ae782f2d68e5cf2aa36db9df03960eac1a27a;hpb=4ce2e7784f3194a4f3db8df1711e951c0b05e7cf;p=scpubgit%2FDKit.git diff --git a/lib/DX/Op/Prop.pm b/lib/DX/Op/Prop.pm index dc4ae78..c2b494b 100644 --- a/lib/DX/Op/Prop.pm +++ b/lib/DX/Op/Prop.pm @@ -1,5 +1,6 @@ package DX::Op::Prop; +use DX::VarRef; use Moo; with 'DX::Role::Op'; @@ -31,7 +32,8 @@ sub run { if ($value->can("has_${name}") and not $value->${\"has_${name}"}) { return $state->backtrack; } - return $state->bind_value($args{value}->id, $value->$name) + my $var_ref = DX::VarRef->new(var_id => $args{of}->id, derive => $name); + return $state->bind_value($args{value}->id, $var_ref) ->add_dependencies($args{value}->id => $args{of}->id) ->then($self->next); }