Updated DIP22 - Private symbol visibility
Dicebot
public at dicebot.lv
Sat Dec 21 13:36:57 PST 2013
On Saturday, 21 December 2013 at 21:14:43 UTC, Martin Nowak wrote:
> If I make a refactoring and move a function from module A to B,
> but the function calls an overload set in A it should not have
> a different overload resolution.
If MUST have different overload resolution if B does not have
access to those A function. Anything else is damn broken module
system. Why would anyone expect to move functions between modules
and have accessibility rules magically persistent?
> Similar case, if I pass an overload set via alias to a traits
> template in module B, the template should follow the same
> overload resolution.
> It's very important that we preserve these properties.
It is a major design issue with templates using declaration scope
for access resolution instead of instantation scope. I think it
was a mistake and is unrelated to general visibility rules.
More information about the Digitalmars-d
mailing list