You don’t lose it, it’s just behind `Error`. You can cast out whatever strong 
error type you need without having to bind an entire type to it generically. If 
getting a common error type out happens a lot, I usually add a convenience 
property to `Error` to do the cast for me. Plus, having to expose an entire new 
error wrapper is just a non starter for me and doesn’t seem necessary, given 
how Result is currently used in the community.


Jon

> On Nov 2, 2017, at 2:12 PM, Dave DeLong <[email protected]> wrote:
> 
> 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] <mailto:[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] <mailto:[email protected]>
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to