Author: moritz
Date: 2009-09-07 19:30:17 +0200 (Mon, 07 Sep 2009)
New Revision: 28197
Modified:
docs/Perl6/Spec/S12-objects.pod
Log:
[S12] undo '...' semantics in class bodies.
Now only a single ... term in the classes marks that class as a forward
declaration, making it a declaration.
Modified: docs/Perl6/Spec/S12-objects.pod
===================================================================
--- docs/Perl6/Spec/S12-objects.pod 2009-09-07 06:48:34 UTC (rev 28196)
+++ docs/Perl6/Spec/S12-objects.pod 2009-09-07 17:30:17 UTC (rev 28197)
@@ -55,22 +55,10 @@
class is also a module, it also handles any module-oriented keywords.
You can export subs from a class at "use" time, for instance.)
-If the class body throws an exception from a literal C<...> (yada) term,
-the class defintion is considered incomplete, and a second definition of
-that class does not complain, so you can write
+If the class body consists only of a literal C<...> (yada) term, it is
+interpreted as a forward declaration that just tells the compiler that the
+class name is a type name, to be defined later on.
- class Foo {
- has $!some_attr;
-
- ... # literal ... here interrrupts class definition
- }
-
- # other code here
-
- class Foo {
- # rest of class defintion here
- }
-
A named class declaration can occur as part of an expression, just like
named subroutine declarations.