swift
b97e2727 - Sema: Fix opaque type accessors with inactive availability conditions.

Commit
1 year ago
Sema: Fix opaque type accessors with inactive availability conditions. Opaque type metadata accessor functions could be miscompiled for functions that contain `if #available` checks for inactive platforms. For example, this function will always return `A` when compiled for macOS, but the opaque type accessor would instead return the type metadata for `B`: ``` func f() -> some P { if #available(iOS 99, *) { return A() // Returns an A on macOS } else { return B() } } ``` Resolves rdar://139487970.
Author
Committer
Parents
Loading