I feel this now belongs in the DIHWIDT category.

If you want ?C to always return True, add a method "Bool" rather than a method 
"defined":

  $ 6 'class C { method Bool { True } }; say ?C'
  True

I think this is also clearer, as prefix:<?> generally means boolification, aka 
.Bool.

So I would reject this as ENOTABUG.

> On 23 Jan 2017, at 10:37, Aleks-Daniel Jakimenko-Aleksejev (via RT) 
> <perl6-bugs-follo...@perl.org> wrote:
> 
> # New Ticket Created by  Aleks-Daniel Jakimenko-Aleksejev 
> # Please include the string:  [perl #130629]
> # in the subject line of all future correspondence about this issue. 
> # <URL: https://rt.perl.org/Ticket/Display.html?id=130629 >
> 
> 
> Code:
> class C { method defined { True } }; say ?C
> 
> Result (2015.12,2016.02):
> True
> 
> Result (2016.03,HEAD):
> False
> 
> 
> 
> Bisectable points to 
> https://github.com/rakudo/rakudo/commit/24b4b23a80337888cf5ea47b091d218bc884d682
> 
> The commit message did not indicate that “defined” method should no longer 
> work, so my best guess is that the change is not intentional.
> 
> However, if this is not supposed to work, then what about throwing an error 
> when the user attempts to create a “defined” method?

Reply via email to