Updated DIP22 - Private symbol visibility

Martin Nowak code at dawg.eu
Sat Dec 21 11:29:27 PST 2013


On Saturday, 21 December 2013 at 17:41:32 UTC, Timon Gehr wrote:
> Adding a private symbol to an overload set can break 3rd party 
> code with these rules.

Yes, this is understood, but it seems like a good tradeoff when 
compared to the alternative where overload resolution depends on 
look-up origin. The latter could easily break generic code and 
simple refactorings could introduce subtle bugs.

> Since private symbols are usually excluded from di files I 
> don't think this design is viable.

This, I don't have a good answer for, except that we have to put 
the private overload in the .di file as well.

> I think it would be better to disallow overload sets with mixed 
> protection.

Tried that, doesn't work. The most common counterexample is 
mixing private/public constructors.


More information about the Digitalmars-d mailing list