1 package DX::Predicate::Eq;
3 use DX::Utils qw(step rspace res CONTENTS_OF);
6 with 'DX::Role::Predicate';
8 sub _possible_resolution_list {
9 my ($self, @args) = @_;
10 my $rspace = $self->_resolution_space_for(@args);
11 return () unless my @members = @{$rspace->members};
13 actions => $_->actions,
14 depends_on => $_->veracity_depends_on
18 sub _resolution_space_for {
19 my ($self, $left, $right) = @_;
21 my $deps = [ [ CONTENTS_OF ,=> $left ], [ CONTENTS_OF ,=> $right ] ];
23 if ($left->equals($right)) {
25 geometry_depends_on => $deps,
29 veracity_depends_on => $deps,
36 my ($set_this, $to_this) = @$_;
38 actions => [ $set_this->action_for_set_value($to_this) ],
39 veracity_depends_on => $deps,
42 $_->[0]->can_set_value
49 geometry_depends_on => $deps,