: <struct-slot-spec> ( name c-type attributes -- slot-spec )
[ struct-slot-spec new ] 3dip
[ >>name ]
- [ [ >>type ] [ struct-slot-class >>class ] bi ]
+ [ [ >>type ] [ struct-slot-class init-slot-class ] bi ]
[ [ dup empty? ] [ peel-off-struct-attributes ] until drop ] tri* ;
<PRIVATE
M: bad-superclass summary
drop "Tuple classes can only inherit from non-final tuple classes" ;
-M: no-initial-value summary
- drop "Initial value must be provided for slots specialized to this class" ;
-
M: bad-initial-value summary
drop "Incompatible initial value" ;
[ tuple-layout ]
bi <tuple-boa> ;
-M: tuple-class initial-value* new ;
+M: tuple-class initial-value* new t ;