mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
To use members of protocol extensions on existential types, we introduce an OpenExistentialExpr expression to open up the existential type (into a local archetype) and perform the operations on that local archetype. Unlike with uses of initializers or dynamic-Self-producing methods of protocols, which produce similar ASTs, we have the type checker perform the "open" operation and then track it through constraint application. This scheme is better (because it's more direct), but it's still using a simplistic approach to deciding where the actual OpenExistentialExpr goes that needs improvement. Swift SVN r26964
3.1 KiB
3.1 KiB