[swift-evolution] [Review] SE-0090: Remove .self and freely allow type references in expressions
xiaodi.wu at gmail.com
Wed May 18 01:05:29 CDT 2016
On Tue, May 17, 2016 at 8:33 PM, Chris Lattner via swift-evolution <
swift-evolution at swift.org> wrote:
> * What is your evaluation of the proposal?
I suspect few would argue against the premise, namely that .self should go.
One quibble with the details, though:
useType([Int]) // Passes Array<Int>
useArray([Int]) // Passes an array, containing Int
This seems a little magical; by contrast, [Int.self] vs. [Int].self is
unambiguous. Moreover (not that I can conceive of a use for it), wouldn't
things get hairy if one tries to express `[[Int].self]`? I'd like to
propose an alternative:
Python has a trailing comma rule for tuples. That is, to distinguish a
parenthesized expression from a single-item tuple, the latter must be
written as `(item,)`. Perhaps the same idea could be used in this case.
[Int] // Array<Int>
[Int,] // an array, containing one element Int
* Is the problem being addressed significant enough to warrant a
> change to Swift?
> * Does this proposal fit well with the feel and direction of Swift?
> * If you have used other languages or libraries with a similar
> feature, how do you feel that this proposal compares to those?
> * How much effort did you put into your review? A glance, a quick
> reading, or an in-depth study?
> More information about the Swift evolution process is available at
> Thank you,
> -Chris Lattner
> Review Manager
> swift-evolution mailing list
> swift-evolution at swift.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution