[Pitch] Overridable Members in Extensions

I'm curious what's the state of the proposal? Will it be accepted and implemented in Swift 5? I recently got the error "Overriding declarations in extensions is not supported" when developing my personal project, and this proposal seems to solve my problem.

5 Likes

There wasn't quite enough interest at the time for me to keep pushing on it, and it doesn't have an implementation. I don't think it would be super controversial, but it's potentially tricky to implement on Linux (where we can't lean on the ObjC runtime), and trying to do it right during the period of ABI stability is not necessarily a good idea. If someone wants to run with it that'd be great (possibly for 5.1, though).

(Heck, we don't even have an implementation for making this work within a library, although that's tricky in different ways.)

EDIT: Key point: we think we can do this without breaking ABI on Apple platforms. It's less clear whether that'd be possible for Linux, but it's also less clear whether Linux needs a stable ABI.

4 Likes

Is it worth adding new (in the sense of "not an override, as in C#/C++) as a rider to this proposal to address this issue?

I think that deserves its own proposal. It isn't really about extensions, and it's something that can be implemented, discussed, and integrated in a much shorter timeframe.

Terms of Service

Privacy Policy

Cookie Policy