Issue with 2.071: Regression or valid error?

Daniel Kozak via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Apr 8 06:20:25 PDT 2016



Dne 8.4.2016 v 14:56 Steven Schveighoffer via Digitalmars-d-learn napsal(a):
> 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

Yes ou are right, I see it now :), thanks.


More information about the Digitalmars-d-learn mailing list