[swift-evolution] [RFC] "Library Evolution Support in Swift ('Resilience')"

Jordan Rose jordan_rose at apple.com
Fri Feb 12 17:06:35 CST 2016


I just re-read your initial objection, which had a slightly different idea: allow inlining, but if the library has changed when I go to run it, refuse to launch. I wanted to respond to that explicitly: this is no different from treating the library as part of your own distribution (what the document calls a "resilience domain"), and then not shipping it with your app. That means I see two options:

- Mark a dependency as version-locked; if the library changes in any way, refuse to launch.
- Mark a dependency as non-inlineable.

I think these are both client-side controls, perhaps things you put in your Manifest.swift file. I'm not sure that we actually need or want both of them, but does this formulation seem reasonable to you?

Jordan

P.S. I hope I'm not coming off as antagonistic in these emails, particularly with the repeated responses. I think you've brought up a very important issue and it's critical that the ramifications of the model, whatever we decide on, are well-understood and can be meaningfully acted upon.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160212/13c61c25/attachment.html>


More information about the swift-evolution mailing list