@@ -10,6 +10,22 @@ func genericFn<T>(_ t: T) {}
10
10
// CHECK: Generic signature: <T>
11
11
func withInverse< T: ~ Copyable> ( _ t: borrowing T ) { }
12
12
13
+ // CHECK-LABEL: .withSome@
14
+ // CHECK: Canonical generic signature: <τ_0_0 where τ_0_0 : Copyable>
15
+ func withSome( _ t: some Any ) { }
16
+
17
+ // CHECK-LABEL: .withSomeEquatable@
18
+ // CHECK: Canonical generic signature: <τ_0_0 where τ_0_0 : Copyable, τ_0_0 : Equatable>
19
+ func withSomeEquatable( _ t: some Equatable ) { }
20
+
21
+ // CHECK-LABEL: .withSomeProto@
22
+ // CHECK: Canonical generic signature: <τ_0_0 where τ_0_0 : Copyable, τ_0_0 : NoCopyP>
23
+ func withSomeProto( _ t: some NoCopyP ) { }
24
+
25
+ // CHECK-LABEL: .withInverseSome@
26
+ // CHECK: Canonical generic signature: <τ_0_0>
27
+ func withInverseSome( _ t: some ~ Copyable) { }
28
+
13
29
// CHECK-LABEL: .S1@
14
30
// CHECK: Generic signature: <T where T : Copyable>
15
31
struct S1 < T> { }
@@ -34,6 +50,10 @@ class C1_CI<T, U: ~Copyable> {}
34
50
// CHECK: Generic signature: <T, U>
35
51
class C1_II < T: ~ Copyable, U: ~ Copyable> { }
36
52
53
+ // CHECK-LABEL: .NoCopyP@
54
+ // CHECK: Requirement signature: <Self>
55
+ protocol NoCopyP : ~ Copyable { }
56
+
37
57
// CHECK-LABEL: .P1@
38
58
// CHECK: Requirement signature: <Self where Self : Copyable>
39
59
protocol P1 { }
0 commit comments