Commit Graph

7 Commits

Author SHA1 Message Date
Allan Shortlidge
a75aaf3463 Tests: Re-enable async_sequence_existential.swift on Windows.
The fix in https://github.com/swiftlang/swift/pull/80685 (using `-o` to write
the output to a file, instead of relying on stdout/stderr redirection) seems to
have addressed this issue on other bots.

Resolves https://github.com/swiftlang/swift/issues/80582.
2025-04-15 08:44:05 -07:00
Allan Shortlidge
a306dbcf32 Tests: Use -o instead of stdout redirect in async_sequence_existential.swift.
This will hopefully prevent random line breaks from being inserted into the
`-dump-ast` output and interfering with FileCheck's matching.

Resolves rdar://148855879.
2025-04-09 10:20:09 -07:00
Allan Shortlidge
2358a8b467 Tests: Disable async_sequence_existential.swift on Windows.
Unblocks the Windows toolchain build, which is experiencing a weird symptom
that causes this test to fail only in that context. The failure is tracked by
https://github.com/swiftlang/swift/issues/80582.
2025-04-08 18:20:32 -07:00
Allan Shortlidge
fe5496000e Tests: Make async_sequence_existential.swift failures easier to debug.
https://github.com/swiftlang/swift/issues/80582
2025-04-07 07:48:54 -07:00
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