[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