Author: sorear
Date: 2010-07-03 11:14:27 +0200 (Sat, 03 Jul 2010)
New Revision: 31533

[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:

Reply via email to