On Sat, 21 Oct 2017 08:18:46 -0700, alex.jakime...@gmail.com wrote:
> https://irclog.perlgeek.de/perl6-dev/2017-10-21#i_15334639
> 
> I' think we should test that both are listed, and we can close the
> ticket.
> 

I don't think we should force all future implementations to add BUILDALL.
Especially since Rakudo didn't need this added to work correctly.

> On 2017-10-13 04:50:32, elizabeth wrote:
> > > On 13 Oct 2017, at 07:52, 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 #132283]
> > > # in the subject line of all future correspondence about this
> > > issue.
> > > # <URL: https://rt.perl.org/Ticket/Display.html?id=132283 >
> > >
> > >
> > > Code:
> > > class Foo { has $.bar }; my $f = Foo.new(bar=>'u'); say
> > > $f.^methods;
> > >
> > > ¦«2015.12»:
> > > (bar)
> > >
> > > ¦«2016.06»:
> > > (bar)
> > >
> > > ¦«2016.12»:
> > > (bar)
> > >
> > > ¦«2017.06»:
> > > (bar)
> > >
> > > ¦«f72be0f130cf»:
> > > (bar BUILDALL)
> > >
> > >
> > >
> > > Bisectable points at two relevant commits:
> > > First it was BUILDALL_UNDER_CONSTRUCTION after
> > >
> https://github.com/rakudo/rakudo/commit/9837687d93c907ec232b1c7635776aa0c7faa6bc
> > > Now it is BUILDALL after
> > >
> https://github.com/rakudo/rakudo/commit/63cf246fd4caa43c52a212054a98e9b450c54127
> > >
> > >
> > > I don't know if BUILDALL should be listed or not. My gut feeling
> > > says
> > > that it shouldn't be, but feel free to argue otherwise. I'm just
> > > the
> > > messenger.
> >
> > Well, it *is* an auto-generated method that is installed in the
> > namespace. Just like “bar”. So either we should show both, or
> > neither. Or introduce a flag to include/exclude auto-generated
> > methods. But then we would need to mark those methods as auto-
> > generated somehow.

I think BUILDALL is different than bar for several reasons,
it is all uppercase (which usually means it is special)
it is only an optimization
the programmer didn't use a pragma to add it
the programmer didn't even implicitly declare it

(I mean that 「has $.bar」 as an implicit declaration
of a method of the same name)

So I think discussing whether this use of BUILDALL needs to be hidden can be
discussed independently of whether an atribute method needs to be hidden.

Reply via email to