> On 25 May 2016, at 23:47, Dmitri Gribenko <griboz...@gmail.com> wrote: > > On Wed, May 25, 2016 at 2:43 PM, David Hart via swift-evolution > <swift-evolution@swift.org> wrote: >> Impact on Existing Code >> >> This is a breaking change that will require conforming types which relied on >> the inference, including in the Standard Library, to explicitly declare >> associated types. A Fix-It could be introduced to add the typealias and >> leave the type to be filled in. That way, all the type inference could be >> removed from the compiler. > > Please show an example -- for example, what a smallest collection type > will look like.
Isn’t that the example in the Detailed Design section? What other example were you thinking of? >> Alternatives Considered >> >> The only alternative is to keep the inference with the known consequences on >> the compiler. > > Sorry, that's not fair :) There is a middle ground -- limited > inference. For example, in Collection, we don't need Index to be > inferrable from every declaration that mentions it. We can add a > feature to declare that the type of 'var startIndex' infers > 'associatedtype Index' (via an appropriate attribute). It is true > that this approach would not remove global inference as such, but it > will make it a much easier problem I believe. This sounds like a more complicated solution: it does not remove global inference and complicates the language with an additional attribute only to help the compiler. I don’t see many advantages to this solution. _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution