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?