On 12/22/2012 02:44 AM, Walter Bright wrote:
On 12/21/2012 12:44 AM, Timon Gehr wrote:
... modulo the private symbol clash issue. For all I know it is
deliberate,
which is embarrassing. Other than obviously breaking modularity, it
severely
restricts the usefulness of symbol disambiguation (which it makes
necessary when
it should not be), because the disambiguating alias may introduce more
conflicts
even if it is private, all over the code base.

The reason it is that way is to avoid having it behave gratuitously
differently than how visibility works within classes and structs.

I do not get that. The problem is that private symbols clash with public symbols in different modules. class and struct members are not even liable to inter-module overloadset-overlapping, which is necessary for this to happen.

How it works within classes and structs only affects the exact contents of error messages anyway, right? (not accessible vs. not defined) I'd consider that a compiler implementation detail.

Furthermore, I do not think there can be any kind of justification for the current behaviour in the first place.

Reply via email to