[swift-evolution] Will these two features be included in Swift 3?

Krzysztof Siejkowski krzysztof at siejkowski.net
Mon Dec 7 06:14:03 CST 2015

Concerning extension constraining, it’s already doable with:

protocol DoubleProtocol {}

extension Double : DoubleProtocol {}

extension Array where Element : DoubleProtocol {
    func onlyForDoubles() -> String {
            return "hello doubles!"

[1.2].onlyForDoubles() // „hello doubles!”
["a"].onlyForDoubles() // error: type of expression is ambiguous without more context

However, I personally like the idea of making a syntactic sugar for that case.

All the best,

On 7 December 2015 at 13:01:11, Krzysztof Siejkowski (krzysztof at siejkowski.net) wrote:

Concerning generic typealiases, the topic is already being discussed in „Generic `typealias`s” thread: https://lists.swift.org/pipermail/swift-evolution/2015-December/000132.html. The core Swift team approves:

> Yes, this is
definitely something that I (at least) would like to see. Patches
welcome :-)
> Chris (Lattner)

All the best,

On 7 December 2015 at 12:41:05, Tuur Anton via swift-evolution (swift-evolution at swift.org) wrote:

Can you please add these features in Swift 3?

1. The ability to do this:
extension Array<Double> {
    //extend arrays of doubles

2. Generic typealiases:
struct Foo<T,V> {
    let t: T
    let v: V
typealias IntFoo<V> = Foo<Int,V> //Error in Swift 2.1
swift-evolution mailing list
swift-evolution at swift.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151207/3616a35d/attachment.html>

More information about the swift-evolution mailing list