Issue with 2.071: Regression or valid error?
Steven Schveighoffer via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Apr 8 05:56:08 PDT 2016
On 4/8/16 2:08 AM, 9il wrote:
> On Thursday, 7 April 2016 at 15:55:16 UTC, Steven Schveighoffer wrote:
>> On 4/6/16 11:10 AM, Andre wrote:
>>> [...]
>>
>> Just FYI, you don't need a semicolon there.
>>
>>>>> [...]
>>
>> Wow, totally agree with you. Compiler shouldn't make you jump through
>> this hoop:
>>
>> void foo(Cat cat)
>> {
>> Animal a = cat;
>> a.create();
>> }
>>
>> Please file a bug report, not sure why this happened.
>>
>
> Why this is a bug? private methods are not virtual, are they? --Ilya
A Cat is an Animal. The compiler knows this. The 'a' module has access
to Animal private methods.
This isn't a virtual call, but a call to a base class member. Those are
allowed. How can you think this is not a bug?
Would you think it was a bug if create was a final function instead of
private? This is exactly the same thing.
-Steve
More information about the Digitalmars-d-learn
mailing list