> On 29 Oct 2016, at 02:10, Erica Sadun via swift-evolution 
> <[email protected]> wrote:
> 
> Sounds good to me. Leaving the gist in its updated state (a little further 
> from the last time) for the record.

I like the first part, even though I disagree that `if let foo = foo` conflicts 
with DRY principles. However, I think you should drop the part about unwrapping 
enums for now. That looks like a whole can of worms with a zillion edge cases 
and could be dangerous in the wrong hands:

@unwrappable(type: String)
public enum Result
{
    case success(String) // String is the data requested
    case error(String) // String is an error message
}

func getTheResult() -> Result { … }
….

if unwrap getTheResult() 
{
        // Here we put the code for the success case - or do we?
}

In the above, the code that uses unwrap would be broken simply by reordering 
the cases in the enum declaration and not in a good way. There would be no 
compilation or runtime error, an error message would simply be treated as 
normal data. 

Having code depend on the order of something somewhere else - not necessarily 
even in the same module doesn’t seem very Swifty to me. 


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

Reply via email to