> What I'm saying is that I strongly prefer this: > > func print(_ values: Any..., separator: String, terminator: String) > > To this: > > func print(_ values: any..., separator: String, terminator: String) > > And that I think it would be confusing and unnecessarily duplicative to have > both `Any` and `any<...>` in the language, differing only in capitalization. I agree personally. The way I see it, Any<> refers to the type, which should be upper camel case. > No—what I'm saying is that, in a choice between `Any<Sequence>` and > `any<Sequence>`, I would prefer to use `Any<Sequence>`. The `Any<…>` here is > acting like a type (actually, it *is* a type, just a slightly special type) > and it should be capitalized like a type. Yep, you hit the nail on the head. Exactly right. > This is quite the opposite of what I would want—I would much prefer that > people use `Any<Sequence>` directly rather than an `AnySequence` typedef. > This will help them learn that the feature is there for other situations, > like `Any<Equatable>`. Agreed. Any<> is an extensible construct. AnySequence is not. > In general, I believe it's a good idea to expose `Any<…>` directly, rather > than hiding it behind a typealias. For the cost of a few extra characters, we > expose a lot of power and flexibility directly to the user. For instance, if > you see `Any<Collection where .Element == String>`, it's a small step to > realize that you could also say `Any<Collection where .Index == Int>`. If > you're always using `AnyCollection<String>`, on the other hand, you may never > figure that out. - Rod _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
Re: [swift-evolution] [Proposal] Disallow redundant `Any<...>` constructs
Rod Brown via swift-evolution Fri, 20 May 2016 18:29:46 -0700
- Re: [swift-ev... L. Mihalkovic via swift-evolution
- Re: [swift-evolution] [Proposal] Di... Austin Zheng via swift-evolution
- Re: [swift-evolution] [Proposa... Matthew Johnson via swift-evolution
- Re: [swift-evolution] [Pro... Austin Zheng via swift-evolution
- Re: [swift-evolution] ... Adrian Zubarev via swift-evolution
- Re: [swift-evolution] ... Matthew Johnson via swift-evolution
- Re: [swift-evoluti... Adrian Zubarev via swift-evolution
- Re: [swift-evolution] [Pro... Brent Royal-Gordon via swift-evolution
- Re: [swift-evolution] ... Matthew Johnson via swift-evolution
- Re: [swift-evoluti... Brent Royal-Gordon via swift-evolution
- Re: [swift-ev... Rod Brown via swift-evolution
- Re: [swif... Matthew Johnson via swift-evolution
- Re: [swift-ev... Matthew Johnson via swift-evolution
- Re: [swift-ev... Matthew Johnson via swift-evolution
- Re: [swif... Brent Royal-Gordon via swift-evolution
- Re: [swif... Matthew Johnson via swift-evolution
- Re: [swif... Adrian Zubarev via swift-evolution
- Re: [swift-evolution] [Proposa... Adrian Zubarev via swift-evolution
