Author: sorear Date: 2010-07-03 11:14:27 +0200 (Sat, 03 Jul 2010) New Revision: 31533
Modified: docs/Perl6/Spec/S12-objects.pod Log: [S12] Clarify phasing of lexical classes Modified: docs/Perl6/Spec/S12-objects.pod =================================================================== --- docs/Perl6/Spec/S12-objects.pod 2010-07-03 04:39:32 UTC (rev 31532) +++ docs/Perl6/Spec/S12-objects.pod 2010-07-03 09:14:27 UTC (rev 31533) @@ -184,6 +184,15 @@ is lexical by default also means that any names your class imports are also private by default. +Class declarations (in particular, role composition) are strictly +compile time statements. In particular, if a class declaration appears +inside a nested scope, the class declaration is constrained to compose +in exactly the same way on any possible execution. All named roles and +superclasses must be bound as non-rebindable readonly values; any +parameters to traits will be evaluated only in a non-cloning context. +Names bound by the class declaration are made non-rebindable and read +only so they may be used as superclasses. + In an anonymous class declaration, C<::> by itself may represent the anonymous class name if desired: