The basic design is fine, but I wouldn't want to add more noise to my code. We 
could keep (label: Protocol) as a shorthand form for (label: Any<Protocol>) 
similar to Optionals.  

What's the benifite of this anywasys? What exactly will this solve?!  

--  
Adrian Zubarev
Sent with Airmail  

Am 23. August 2016 um 23:18:35, Chris Lattner via swift-evolution 
([email protected](mailto:[email protected])) schrieb:

>  
> On Aug 23, 2016, at 1:49 PM, Anton Zhilin via swift-evolution 
> <[email protected]> wrote:
> > I haven't yet prepared a formal proposal, but the idea should be understood 
> > by pretty much everyone. This topic has been discussed, but deferred to 
> > "post-Swift3". I think the time for it has come.
>  
> Hi Anton,
>  
> This is a source breaking change, and we don’t have a framework established 
> for how to handle those in the post-swift 3 world yet. The core team is 
> focusing on finishing up Swift 3 right now, but I expect that one of the 
> first topics will be to define and iterate on the model for handling source 
> changes.
>  
> Only once that is established can we determine whether a proposal like this 
> is possible and know what the tradeoffs are that it entails.
>  
> -Chris
>  
>  
> >  
> > Basically, the proposal is to make protocols non-types. To use protocol as 
> > an existential type, it must be wrapped in Any:
> >  
> > protocol ExampleProtocol {
> > func foo() -> Int
> > func bar() -> String
> > }
> >  
> > func f<T: ExampleProtocol>() // OK
> >  
> > func f(x: ExampleProtocol) // error: ExampleProtocol is not a type
> > func f(x: Any<ExampleProtocol>) // OK
> >  
> > This will syntactically separate existential types from protocols 
> > themselves and generic constraints.
> > The proposal does not allow for much variativity, and it looks like the 
> > proposal can be easily created and submitted.
> > _______________________________________________
> > 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
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to