Thread overview
[Issue 17909] Inherited aliases produce unlinkable objects in final classes
Oct 17, 2017
Jonathan Wilbur
Oct 17, 2017
Jonathan Wilbur
Oct 17, 2017
Simen Kjaeraas
Jul 19
RazvanN
Jul 19
RazvanN
Sep 08
Basile-z
October 17, 2017
https://issues.dlang.org/show_bug.cgi?id=17909

Jonathan Wilbur <jonathan@wilbur.space> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |link-failure
           Priority|P1                          |P3

--
October 17, 2017
https://issues.dlang.org/show_bug.cgi?id=17909

Jonathan Wilbur <jonathan@wilbur.space> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jonathan@wilbur.space

--
October 17, 2017
https://issues.dlang.org/show_bug.cgi?id=17909

Simen Kjaeraas <simen.kjaras@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |simen.kjaras@gmail.com

--- Comment #1 from Simen Kjaeraas <simen.kjaras@gmail.com> ---
Same results on Win32 and Win64.

Child.boop.mangleof gives the same result as Parent.boop.mangleof, regardless of final keyword, and matches the missing symbol.

Interestingly, taking the address of (new Child()).boop and calling that works
fine:
    writeln((&(new Child()).boop)());

No, this is not expected behavior.

--
July 19
https://issues.dlang.org/show_bug.cgi?id=17909

RazvanN <razvan.nitu1305@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |razvan.nitu1305@gmail.com
           Severity|normal                      |regression

--- Comment #2 from RazvanN <razvan.nitu1305@gmail.com> ---
Regression introduced by: https://github.com/dlang/dmd/pull/4427

--
July 19
https://issues.dlang.org/show_bug.cgi?id=17909

--- Comment #3 from RazvanN <razvan.nitu1305@gmail.com> ---
Well, you are specifically trying to call a function that has no body, so I would argue that the linker error is correct behavior since you could potentially provide the implementation of Parent.beep in a different place. The fact that taking the address compiles is weird though.

--
September 08
https://issues.dlang.org/show_bug.cgi?id=17909

Basile-z <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |b2.temp@gmx.com
           Hardware|x86_64                      |All
                 OS|Mac OS X                    |All

--- Comment #4 from Basile-z <b2.temp@gmx.com> ---
One possible fix could be to re-resolve the function using the scope given by
`new Child()`

--