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.