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

Reply via email to