> On Sep 29, 2017, at 6:21 PM, Jordan Rose via swift-dev <swift-dev@swift.org> > wrote: > > It's time for MagicKit 6 to come out, and we're going to add a new SpellKind: > > @available(MagicKit 6) > case summoning > // [charm, curse, hex, blight, jinx, summoning] > > We ship out a beta to our biggest clients, but realize we forgot a vital > feature. Beta 2 comes with another new SpellKind: > > @available(MagicKit 6) > case banishing > // [charm, curse, hex, blight, jinx, banishing, summoning] > > And now we're in trouble: anything built against the first beta expects > 'summoning' to have tag 5, not 6. Our clients have to recompile everything > before they can even try out the new version of the library.
Just to check: How much do we need to care about this? It's a beta, after all—clients should expect stuff to break and should rebuild against the new versions as they come out. If the answer is that this is unacceptable, I think we can come up with a "private revision" syntax for this: @available(MagicKit 6r2) case banishing The "r2" might not even show up in the generated header, but the case ordering would take it into account, giving it a lower weight than even the most minor part of the version number. -- Brent Royal-Gordon Architechies
_______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev