Commit Graph

3 Commits

Author SHA1 Message Date
Tony Allevato
5fe10ce86a ASTDumper: Label "interface type" -> "interface_type". 2025-01-29 13:55:00 -05:00
Allan Shortlidge
c02fc4724d Tests: Remove -disable-availability-checking from many Concurrency tests.
Instead, use the `%target-swift-5.1-abi-triple` substitution to compile the tests
for deployment to the minimum OS versions required for use of _Concurrency APIs.
2024-10-18 16:21:51 -07:00
Doug Gregor
11e7a6927a Erase existential thrown error types
When performing a throwing operation on an opened existential, the
thrown error type could be dependent on the opened existential type,
e.g., if the thrown error type is an associated type of one of the
corresponding protocols. In such cases, type-erase the thrown error
type at the point where it is thrown so that the opened archetype
cannot "escape" the enclosing opened-existential operation via
throwing.

There is an alternative approach we could take that has
`OpenExistentialExpr` handle the type erasure of the thrown error
type. This would make `OpenExistentialExpr` a catch node, which would
type-erase and then rethrow. This is arguably better, because it could
mean fewer places where we do the type erasure and is more in line
with the design of opened archetypes. However, it would also be much
more invasive, and we should be able to do this later.

Fixes rdar://124273722.
2024-03-08 11:46:22 -08:00