jnthn's been working really hard.
My thumb's tired just from paging through all these ticket closings. :-)*
Great work, sir!

On 7/21/16, jn...@jnthn.net via RT <perl6-bugs-follo...@perl.org> wrote:
> On Wed Jan 27 12:12:17 2016, jns...@gellyfish.co.uk wrote:
>> perl6 -e 'subset JJ where *.can("foo"); -> JJ:D $a { } '
>> ===SORRY!===
>> Method 'iterator' must be implemented by Iterable because it is
>> required by a role
>>
>>
>> This does not happen without the Type modifier in the signature, i.e.
>>
>> subset JJ where *.can("foo"); -> JJ $a { }
>>
>> But a modified subset that does not call a method is fine:
>>
>> subset JJ where { True }; -> JJ:D $a { }
>>
>> But it appears that in fact that it isn't 'can' that is the culprit
>> but using *any* method on the item:
>>
>> perl6 -e 'subset JJ where *.foo; -> JJ:D $a { } '
>> ===SORRY!===
>> Method 'iterator' must be implemented by Iterable because it is
>> required by a role
>
> We were mishandling the Subtype:D case in general, and sometimes it just
> didn't go quite so badly as other times. I've hopefully fixed that now, and
> added some tests in S12-subset/subtypes.t.
>
>

Reply via email to