> On 24 Sep 2016, at 21:58, Drew Crawford via swift-evolution > <swift-evolution@swift.org> wrote: > > This is the #1 Swift feature I have wanted for the past 2 years. > > One thing I would like to see (perhaps out of scope for this proposal) is the > natural extension for generic parameters: > > struct Box<T> { > var t: T > } > > extension Box where T == Int { //error: Same-type requirement makes generic > parameter T non-generic > } > > There is a great deal of overlap between associated types and generic > parameters, and it seems to me that it would be favorable to allow `==` with > both generic parameter operands and associatedtype operands for consistency. > > Drew >
I think this is already part of the Generics Manifesto: https://github.com/apple/swift/blob/master/docs/GenericsManifesto.md > Concrete same-type requirements > > Currently, a constrained extension cannot use a same-type constraint to make > a type parameter equivalent to a concrete type. For example: > > extension Array where Element == String { > func makeSentence() -> String { > // uppercase first string, concatenate with spaces, add a period, whatever > } > } > This is a highly-requested feature that fits into the existing syntax and > semantics. Note that one could imagine introducing new syntax, e.g., > extending Array<String>, which gets into new-feature territory: see the > section on "Parameterized extensions". > - Karl > On September 23, 2016 at 6:51:51 PM, Douglas Gregor (dgre...@apple.com > <mailto:dgre...@apple.com>) wrote: > >> Hello Swift community, >> >> The review of SE-0142: "Permit where clauses to constrain associated types" >> begins now and runs through September 30, 2016. The proposal is available >> here: >> >> https://github.com/apple/swift-evolution/blob/master/proposals/0142-associated-types-constraints.md >> >> <https://github.com/apple/swift-evolution/blob/master/proposals/0142-associated-types-constraints.md> >> Reviews are an important part of the Swift evolution process. All reviews >> should be sent to the swift-evolution mailing list at >> >> https://lists.swift.org/mailman/listinfo/swift-evolution >> <https://lists.swift.org/mailman/listinfo/swift-evolution> >> or, if you would like to keep your feedback private, directly to the review >> manager. When replying, please try to keep the proposal link at the top of >> the message: >> >> Proposal link: >> >> https://github.com/apple/swift-evolution/blob/master/proposals/0142-associated-types-constraints.md >> >> <https://github.com/apple/swift-evolution/blob/master/proposals/0142-associated-types-constraints.md> >> Reply text >> >> Other replies >> >> <https://github.com/apple/swift-evolution/pull/532#what-goes-into-a-review-1>What >> goes into a review? >> >> The goal of the review process is to improve the proposal under review >> through constructive criticism and, eventually, determine the direction of >> Swift. When writing your review, here are some questions you might want to >> answer in your review: >> >> What is your evaluation of the proposal? >> 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 >> >> https://github.com/apple/swift-evolution/blob/master/process.md >> <https://github.com/apple/swift-evolution/blob/master/process.md> >> Thank you, >> >> -Doug Gregor >> >> Review Manager >> >> _______________________________________________ >> swift-evolution-announce mailing list >> swift-evolution-annou...@swift.org >> <mailto:swift-evolution-annou...@swift.org> >> https://lists.swift.org/mailman/listinfo/swift-evolution-announce >> <https://lists.swift.org/mailman/listinfo/swift-evolution-announce> > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org <mailto:swift-evolution@swift.org> > https://lists.swift.org/mailman/listinfo/swift-evolution > <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution