> @escaping would be part of the parameter type just as @noescape is today. > Your foo(closure:) example wouldn't compile with my proposal, the same as > today if you marked the parameter with @noescape. Non-escaping function > parameters are only allowed to be called. They can't be assigned to variables.
Okay, that does correct that issue. Although it raises a separate issue: a bare closure type now means something different in a parameter list than anywhere else. Are generic types which happen to be functions in some particular use automatically @escaping? Are typealiases and associated types automatically @escaping? Also, if `@escaping` is a part of the parameter list syntax (like `inout`) instead of the type syntax (like `@autoclosure`), would it make sense to drop its `@` sign to make them more syntactically similar? -- Brent Royal-Gordon Architechies _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
