- 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 Metatype
T.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 inout
opt type
throws-annotation → throws | rethrows