mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
25 lines
944 B
Swift
25 lines
944 B
Swift
// RUN: %target-swift-emit-silgen -module-name parameterized -target %target-swift-5.9-abi-triple %s | %FileCheck %s
|
|
|
|
protocol P<A> {
|
|
associatedtype A
|
|
}
|
|
|
|
// The mangling for generalized existentials is buggy; we decide whether to
|
|
// qualify the primary associated type requirement with a protocol or not
|
|
// by looking at the first generic parameter of the outer generic context.
|
|
|
|
struct S1 {
|
|
// CHECK-LABEL: sil hidden [ossa] @$s13parameterized2S1V1fAA1P_pSi1AAaEPRts_XPyF : $@convention(method) (S1) -> @out any P<Int> {
|
|
func f() -> any P<Int> {}
|
|
}
|
|
|
|
struct S2<T> {
|
|
// CHECK-LABEL: sil hidden [ossa] @$s13parameterized2S2V1fAA1P_pSi1ARts_XPyF : $@convention(method) <T> (S2<T>) -> @out any P<Int> {
|
|
func f() -> any P<Int> {}
|
|
}
|
|
|
|
struct S3<each T> {
|
|
// CHECK-LABEL: sil hidden [ossa] @$s13parameterized2S3V1fAA1P_pSi1AAaEPRts_XPyF : $@convention(method) <each T> (S3<repeat each T>) -> @out any P<Int> {
|
|
func f() -> any P<Int> {}
|
|
}
|