On May 24, 2016, at 1:28 PM, L. Mihalkovic <[email protected]> wrote: >> >>> I regularly read see how stability is a high prioriy goal going forward. >>> But what I have not found yet what the plan is going to be to achieve it >>> without stiffling the standard library? Are there constructs, or rules is >>> place/planned that map how changes of kind A versus B level changes will be >>> keeping/breaking compatibility? (I have not finished all the docs) >> >> Once ABI stability is established, functionality can only be added to the >> standard library, not removed or have a significant behavior change. For >> example, fundamentally changing the index model for collections would be >> impossible, but adding a new kind of collection would be fine. > Thank you for taking the time to reply. > I am interested in understanding how finer granularity changes like adding > methods to protocols, or adding new conformance requirements to existing > types will or not impact compatibility. For eg I read about the possibility > of upcoming default implementations in protocol. Is that part of the long > term binary compatibility plans, or unrelated? I do realize many answers are > in the compiler dev-list (read most but not all), the docs and the source > code (have yet to read what's loaded at runtime from the binary) but any > pointers would be appreciated. > Thank you again.
This is a nuanced topic. Jordan and John have started working on a document to describe our “resilience” design, a draft is available here: https://github.com/apple/swift/blob/master/docs/LibraryEvolution.rst -Chris _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
