Hi Charles,

My initial idea just had a fatalError, without a throw. It's better IMO,
but less Swift-y. It's not obvious from the Swift protocol definition that
this could happen. I'm not sure if it's possible for the extension method
to have @noreturn or similar on it.

On Thursday, 28 April 2016, Charles Srstka <[email protected]> wrote:

> On Apr 27, 2016, at 9:30 AM, Andrew Bennett via swift-evolution <
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>
>
> Sorry if this has been discussed, but have you considered dropping
> optional entirely, making it throw, and a default implementation that
> throws a selector not found exception?
>
> This is approximately what you would expect using it in objc. I don't
> think it has the complexity discussed in the proposals alternatives for
> other call site issues.
>
> If it throws you can call with "try?" to get similar functionality in most
> cases.
>
> This assumes that respondsToSelector doesn't pick up the Swift default
> implementation.
>
>
> Is there any case where you’d actually want to display a runtime error as
> a result of a delegate not implementing an optional method, though? Even
> setting aside that the method’s supposed to be optional, leaving out a
> needed delegate method seems more like a programmer error than a runtime
> error.
>
> Charles
>
>
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to