http://d.puremagic.com/issues/show_bug.cgi?id=3252
Andrej Mitrovic <andrej.mitrov...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |andrej.mitrov...@gmail.com Resolution| |INVALID --- Comment #5 from Andrej Mitrovic <andrej.mitrov...@gmail.com> 2013-01-22 12:10:09 PST --- package methods are non-virtual, so you're not overriding iPack here but instead introducing a new function in the 'A' class. 'I.pack' is an externally defined final function, which is why linking fails. If you define a body for 'I.pack' you will see that the compiler won't complain about an interface method having an implementation, because package (i.e. non-virtual) methods are allowed in interfaces. The compiler currently doesn't complain about having a function in the base class (or interface) having the same name as the one defined in the current class: class B { package void iPack() { } } class A : B { package void iPack() // no errors, neither in D1 or D2 { } } But that is a separate issue which would be an enhancement request (I think there are some opened ones about this). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------