On Wed, 08 Mar 2017 03:55:38 -0800, sml...@gmail.com wrote: > my $x = 42; > > my $c1 = \($x); > my $c2 = \(42); > > say $c1 eqv $c2; # True > say $c1 === $c2; # True > say $c1.WHICH; # Capture|(Int|42) > say $c2.WHICH; # Capture|(Int|42) > > Since the two captures in this example are not identical behavior-wise > (e.g. $c1 could be bound to the signature `$foo is rw` but $c2 can't), > their `.WHICH` and `===` shouldn't consider them identical either, > right? > > `eqv` returning `True` seems appropriate though, as it does the same > for Lists: > > my $l1 = ($x,); > my $l2 = (42,); > > say $l1 eqv $l2; # True > say $l1 === $l2; # False > say $l1.WHICH; # List|62518880 > say $l2.WHICH; # List|62518928
Thank you for the report. This is now fixed. Fix: https://github.com/rakudo/rakudo/commit/4605d5219e Tests: https://github.com/perl6/roast/commit/7cf30b225a