Diagnose a metatype reference that doesn't appear as part of a call or member reference, offering fixits to either default-construct the type or get at the metatype explicitly using '.self'. Also diagnose an attempt to refer to 'T.type' by fixiting it to '.self'.
Swift SVN r14433
This draft needs to be reviewed by Chris and Joe, who both did much of
the design work but haven't seen the text. In particular, the
"Optimization" section is a bit hand-wavey and might benefit from being
beefed up by a core compiler engineer.
Swift SVN r13730
Re-title/rewrite my part of the Efficient Slice Mutation proposal, since
Joe and I have realized that it's a more general problem. Also remove
our previous bogus solution and replace with a solution that works.
Swift SVN r13717
I don't know why my machine at home is suddenly being stricter than the
one at work, but it found these legitimate formatting mistakes.
Swift SVN r13635
Compared to the proposal sent out to swift-dev, this is updated in concordance with the design decisions we made in the 2014-01-21 meeting:
- "fail" is used as the keyword for construction failure.
- Details of how "self" is discarded on failure have been added. Not-fully-initialized objects are destroyed piecemeal, whereas full initialized objects are *released* rather than directly destroyed in case they have already been captured.
Swift SVN r12989
Trailing closures get exceptions from the "required keyword for selector style argument" and "positional parameters must come before keyword parameters" rules.
Swift SVN r10415
Define "named application" using AST peepholes instead of having different grammar productions; this is better for QoI and more flexible. For completeness, describe how named application lookup works with non-function decls.
Swift SVN r10332
Some people might object to the way I've defined rvalue and lvalue,
but it just seemed to fall out of things. I started by talking about
writable and read-only data, and then read-only lvalues, but it was
complicated until all those distinctions fell away and left me with
the basic rule: rvalues can't be mutated and lvalues can.
If theoreticians object, we can find another way to phrase it.
Swift SVN r10010