I think I’d personally rather see this done with a generic error as well, like:
enum GenericResult<T, E: Error> {
case success(T)
case failure(E)
}
And a typealias:
typealias Result<T> = GenericResult<T, AnyError>
This would require an “AnyError” type to type-erase a specific Error, but I’ve
come across many situations where a strongly-typed error is incredibly useful,
and I’d be reluctant to see that thrown away.
Dave
> On Nov 2, 2017, at 12:08 PM, Jon Shier via swift-evolution
> <[email protected]> wrote:
>
> Swift-Evolution:
> I’ve written a first draft of a proposal to add Result<T> to the
> standard library by directly porting the Result<T> type used in Alamofire to
> the standard library. I’d be happy to implement it (type and tests for free!)
> if someone could point me to the right place to do so. I’m not including it
> directly in this email, since it includes the full implementation and is
> therefore quite long. (Discourse, please!)
>
> https://github.com/jshier/swift-evolution/blob/master/proposals/0187-add-result-to-the-standard-library.md
>
> <https://github.com/jshier/swift-evolution/blob/master/proposals/0187-add-result-to-the-standard-library.md>
>
>
> Thanks,
>
> Jon Shier
>
>
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution