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

Reply via email to