@colincornaby Swift aims to let API vendors be very precise about what they expose, and abstract everything else.
@jckarter You’re saying no change for Apple Swift frameworks because you consider the API, but it’s about protecting others who don’t?
-
-
@mjtsai Many users would prematurely reach for 'final' to get a similar effect and be stuck with it w/o the new default behavior. -
@jckarter I would have thought you could revoke a final across a module boundary because clients can’t inline, anyway. -
@mjtsai 'final' also influences things like dynamic casts and protocol conformance. e.g. Don't need to be covariant if there's no subtyping. -
@jckarter Aha, that makes sense. So then you either force a recompile or can’t optimize.
-
-
@mjtsai Apple's API review process is pretty intense, and the higher-ups have three decades of experience with it. I think we'll do OK -
@mjtsai The new default is also a future-safe middle between 'subclassable' *and 'final'*—either modifier can't be compatibly revoked. -
@mjtsai I don't think subclassability is a small detail they'll overlook.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
Joe Groff
Colin Cornaby
Dr. Sneed
Michael Tsai