Previous | Table of Contents | Next |
(14) <value_forward_dcl> ::= [ “abstract? ] “valuetype? <identifier>
A forward declaration declares the name of a value type without defining it. This permits the definition of value types that
refer to each other. The syntax consists simply of the keyword valuetype followed by an <identifier> that names the value
type.
Multiple forward declarations of the same value type name are legal.
Boxed value types cannot be forward declared; such a forward declaration would refer to a normal value type.
It is illegal to inherit from a forward-declared value type whose definition has not yet been seen.