Updated DIP22 - Private symbol visibility

Martin Nowak code at dawg.eu
Sat Dec 21 14:03:08 PST 2013


On 12/21/2013 10:28 PM, Timon Gehr wrote:
> Well, you pass an alias. Are you saying that for alias template
> arguments, the scope of the template declaration applies for
> accessibility checking? I.e. we cannot pass private symbols as alias
> arguments? I think this is an unreasonably high price to pay.
>
You can pass them and basically it behaves like public aliases, in the 
sense that the one who instantiates a template passes a public alias to 
a possibly private symbol.

It's a question of transitivity what the template can do with the symbol.

Currently it's not possible to call private functions or private methods 
of variables that are passed via alias parameter.

> Basically just the constructor thing though?
> Note that constructors cannot be passed by alias due to a syntax
> restriction... :o)



More information about the Digitalmars-d mailing list