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 
> <swift-evolution@swift.org> 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
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to