[Issue 15897] private base class method not seen through derived class

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Tue May 3 02:13:43 PDT 2016


https://issues.dlang.org/show_bug.cgi?id=15897

Martin Nowak <code at dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|base class method not seen  |private base class method
                   |w/ circular import          |not seen through derived
                   |                            |class

--- Comment #12 from Martin Nowak <code at dawg.eu> ---
Yeah, we introduced sort of a new concept, "visibility through something", i.e.
with the following import chain pkg.A -> B -> pkg.C, pkg.A cannot see
package(pkg) protected symbols from pkg.C, even when B publically imports
pkg.C.
The same applies for base classes.

Visibility can only be restricted but not be widened later on, which is a
fairly intuitive behavior and follows the same principle as the overload
resolution w/ mixed protection, making it mostly independent from lookup
origin.
http://wiki.dlang.org/DIP22#Description

--


More information about the Digitalmars-d-bugs mailing list