|
I think we may already have a ticket for this (need to look). We have the "private" keyword already in the puppet language, and the idea is to use it as follows:
private class foo() { }
|
private define foo() { }
|
private function foo() { }
|
private type T = T2
|
The semantics of private is that it may only be created and referenced from the module that contains the definition. In order to make that enforceable we also need to forbid arbitrary namespaces to be used - since as things are now, any manifest can define something in any namespace.
The addition of making the "private" keyword active can be made in a minor release, but the enforcement of namespaces is not backwards compatible and have to wait until a major release.
|