http://wiki.dlang.org/DIP22
There are two important issues with current protection attribute design: * Senseless name clashes between private and public symbols * No way to specify internal linkage storage class This DIP addresses both of them with two decoupled proposals: * Change of private related name resolution rules * Definition of static storage class for module-scope symbols. ___________________________________________ Quotes, data and link to previous discussion: http://wiki.dlang.org/Access_specifiers_and_visibility ___________________________________________ I think this is the point where public discussion will do more good than my own exploration of corner cases. Please destroy and pay closest attention to compile-time reflection - I have a feeling I have missed something there.