- Proposal: SE-NNNN
- Authors: Anton Zhilin
- Review Manager: TBD
- Status: Awaiting review
Change nil literal type from () to Nil.
Change nil literal type from () to Nil.
Change syntax of pattern-matching versions of if and guard.
/────────────────────── Domain 1
/
/ /───────────── Domain 2
/ /
─────────────────────────────────────────────────────── Core operators
\
\──────────────────────────── Domain 3
\
\──────────────── Domain 4
This proposal want to revise metatypes T.Type, repurpose public T.self notation to return a new Type type instance rather than a metatype, merge SE-0101 into Type, rename the global function from SE-0096 to match the changes of this proposal and finally rename current Mirror type to introduce a new (lazy) Mirror type.
T.Type to MetatypeT.self notation with T.metatype and T.Type with Metatype<T>function-type → ( function-type-parametersopt ) throws-annotationopt -> type
function-type-parameters → function-type-parameter , function-type-parameters
function-type-parameters → function-type-parameter ...opt
function-type-parameter → attributesopt inoutopt type
throws-annotation → throws | rethrows