You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
varmoveOnlyC:MoveOnlyKlass?=nil // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
21
-
varmoveOnlyS:MoveOnlyStruct?=nil // expected-error {{type 'MoveOnlyStruct' does not conform to protocol 'Copyable'}}
20
+
varmoveOnlyC:MoveOnlyKlass?=nil
21
+
varmoveOnlyS:MoveOnlyStruct?=nil
22
+
varcopyableCs:[CopyableKlass]=[]
23
+
varmoveOnlyCs:[MoveOnlyKlass]=[] // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
24
+
varmoveOnlySs:[MoveOnlyStruct]=[] // expected-error {{type 'MoveOnlyStruct' does not conform to protocol 'Copyable'}}
22
25
}
23
26
24
27
@_moveOnly
25
28
classCMoveOnly{
26
29
varcopyable:CopyableKlass?=nil
27
-
varmoveOnlyC:MoveOnlyKlass?=nil // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
28
-
varmoveOnlyS:MoveOnlyStruct?=nil // expected-error {{type 'MoveOnlyStruct' does not conform to protocol 'Copyable'}}
30
+
varmoveOnlyC:MoveOnlyKlass?=nil
31
+
varmoveOnlyS:MoveOnlyStruct?=nil
32
+
varcopyableCs:[CopyableKlass]=[]
33
+
varmoveOnlyCs:[MoveOnlyKlass]=[] // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
34
+
varmoveOnlySs:[MoveOnlyStruct]=[] // expected-error {{type 'MoveOnlyStruct' does not conform to protocol 'Copyable'}}
29
35
}
30
36
31
37
structOptionalGrandField<T>{ // expected-note {{consider adding '~Copyable' to generic struct 'OptionalGrandField'}}
@@ -44,12 +50,17 @@ struct SCopyable {
44
50
45
51
structS{ // expected-note {{consider adding '~Copyable' to struct 'S'}}
46
52
varcopyable:CopyableKlass
47
-
varmoveOnly2:MoveOnlyStruct? // expected-error {{type 'MoveOnlyStruct' does not conform to protocol 'Copyable'}}
48
-
varmoveOnly:MoveOnlyStruct // expected-error {{stored property 'moveOnly' of 'Copyable'-conforming struct 'S' has non-Copyable type 'MoveOnlyStruct'}}
53
+
varmoveOnly2:MoveOnlyStruct? // expected-error {{stored property 'moveOnly2' of 'Copyable'-conforming struct 'S' has non-Copyable type 'MoveOnlyStruct?'}}
54
+
// FIXME(NCG): Shouldn't this be also an error?
55
+
varmoveOnly:MoveOnlyStruct
49
56
varmoveOnly3:OptionalGrandField<MoveOnlyKlass> // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
50
57
varmoveOnly3:OptionalGrandField<MoveOnlyStruct> // expected-error {{type 'MoveOnlyStruct' does not conform to protocol 'Copyable'}}
51
58
}
52
59
60
+
structS2{ // expected-note {{consider adding '~Copyable' to struct 'S2'}}
61
+
varmoveOnly:MoveOnlyStruct // expected-error {{stored property 'moveOnly' of 'Copyable'-conforming struct 'S2' has non-Copyable type 'MoveOnlyStruct'}}
62
+
}
63
+
53
64
@_moveOnly
54
65
structSMoveOnly{
55
66
varcopyable:CopyableKlass
@@ -85,13 +96,17 @@ extension MoveOnlyStruct {
85
96
func foo(){
86
97
classC2{
87
98
varcopyable:CopyableKlass?=nil
88
-
varmoveOnly:MoveOnlyKlass?=nil // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
99
+
varmoveOnly:MoveOnlyKlass?=nil
100
+
varcopyables:[CopyableKlass]=[]
101
+
varmoveOnlies:[MoveOnlyKlass]=[] // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
89
102
}
90
103
91
104
@_moveOnly
92
105
classC2MoveOnly{
93
106
varcopyable:CopyableKlass?=nil
94
-
varmoveOnly:MoveOnlyKlass?=nil // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
107
+
varmoveOnly:MoveOnlyKlass?=nil
108
+
varcopyables:[CopyableKlass]=[]
109
+
varmoveOnlies:[MoveOnlyKlass]=[] // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
95
110
}
96
111
97
112
structS2{ // expected-note {{consider adding '~Copyable' to struct 'S2'}}
@@ -118,13 +133,17 @@ func foo() {
118
133
{
119
134
classC3{
120
135
varcopyable:CopyableKlass?=nil
121
-
varmoveOnly:MoveOnlyKlass?=nil // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
136
+
varmoveOnly:MoveOnlyKlass?=nil
137
+
varcopyables:[CopyableKlass]=[]
138
+
varmoveOnlies:[MoveOnlyKlass]=[] // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
122
139
}
123
140
124
141
@_moveOnly
125
142
classC3MoveOnly{
126
143
varcopyable:CopyableKlass?=nil
127
-
varmoveOnly:MoveOnlyKlass?=nil // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
144
+
varmoveOnly:MoveOnlyKlass?=nil
145
+
varcopyables:[CopyableKlass]=[]
146
+
varmoveOnlies:[MoveOnlyKlass]=[] // expected-error {{type 'MoveOnlyKlass' does not conform to protocol 'Copyable'}}
128
147
}
129
148
130
149
structS3{ // expected-note {{consider adding '~Copyable' to struct 'S3'}}
0 commit comments