[dmd-internals] Module.semantic is not virtual

Daniel Murphy via dmd-internals dmd-internals at puremagic.com
Sat Jul 30 21:18:22 PDT 2016


They're just separate functions that happen to use the same name.
They're never going to be called through a reference typed as Dsymbol
(I hope).

On Sun, Jul 31, 2016 at 4:26 AM, Johan Engelen via dmd-internals
<dmd-internals at puremagic.com> wrote:
> No-one knows?
>
> On Wed, Jul 27, 2016 at 8:50 PM, Johan Engelen <jbc.engelen at gmail.com>
> wrote:
>>
>> Hi all,
>>   Class Module contains the member functions semantic(), semantic2, and
>> semantic3() that are not virtual. They have the same name however as the
>> Dsymbol virtual methods. Because Module inherits from Dsymbol, it is
>> confusing to reuse the names. Clang warns about Module's functions hiding
>> the virtual methods of the parent class.
>>
>> What was the intent here? Should Module's semantic functions override the
>> base class's functions (but then why the *final* Package::semantic()?), or
>> should they be separate function and just be renamed to something more
>> clear?
>>
>> thanks,
>>   Johan
>>
>
>
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals


More information about the dmd-internals mailing list