My suggestion is that -> would be the conditional arrow that can be both pure 
or impure. That would make @pure func foo(_ f: @pure (Int) -> Int) -> Int 
equivalent to func foo(_ f: (Int) ~> Int) -> Int. Plus depending on the 
implementation the compiler might be able to help and tell you that foo could 
use ~> instead.



-- 
Adrian Zubarev
Sent with Airmail

Am 17. Februar 2017 um 19:25:41, Anton Zhilin (antonyzhi...@gmail.com) schrieb:

Just let

@pure func foo(_ f: (Int) -> Int) -> Int
be the same as those two combined:

@pure func foo(_ f: @pure (Int) -> Int) -> Int
func foo(_ f: (Int) -> Int) -> Int
No need for anything like “re-pure” or  
≃>.

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

Reply via email to