Error or a new behaviour with 2.071.0

Dicebot via Digitalmars-d digitalmars-d at puremagic.com
Fri Apr 8 06:31:38 PDT 2016


On Friday, 8 April 2016 at 13:28:15 UTC, Daniel Kozak wrote:
> From https://dlang.org/spec/attribute.html#ProtectionAttribute
>
> Protection does not participate in name lookup. In particular, 
> if two symbols with the same name are in scope, and that name 
> is used unqualified then the lookup will be ambiguous, even if 
> one of the symbols is inaccessible due to protection. For 
> example:
>
> module A;
> private class Foo {}
> module B;
> public class Foo {}
> import A;
> import B;
>
> Foo f1; // error, could be either A.Foo or B.Foo
> B.Foo f2; // ok
>
>
> But Foo f1; // works ok now with 2.071.0

The spec needs to be changed here (it was describing behaviour 
that was a long-standing bug).


More information about the Digitalmars-d mailing list