http://d.puremagic.com/issues/show_bug.cgi?id=3282


timon.g...@gmx.ch changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |


--- Comment #10 from timon.g...@gmx.ch 2012-01-24 07:18:45 PST ---
The signature of the overriding function is identical to the overridden one in
all cases discussed here.

class A{
    void f(){} // note: return type void
}
class B: A{
    override void f(){} // overrides base f                                     
    void f()immutable{} // new overload                                         
    void f()shared{}       // new overload                                      
}

It is impossible to break the type system (even if the return types would be
different): the new overloads are not even reachable through a base class
reference. The bug is that the compiler does not take into account the storage
class of the hidden this pointer while deciding what overrides what.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to