protected
and protect_proj
user attributes #
protected
is an attribute to protect a declaration.
If a declaration foo.bar
is marked protected, then it must be referred to
by its full name foo.bar
, even when the foo
namespace is open.
protect_proj
attribute to protect the projections of a structure.
If a structure foo
is marked with the protect_proj
user attribute, then
all of the projections become protected.
protect_proj without bar baz
will protect all projections except for bar
and baz
.
Examples #
In this example all of foo.bar
, foo.baz
and foo.qux
will be protected.
The following code example define the structure foo
, and the projections foo.qux
will be protected, but not foo.baz
or foo.bar