Skip to content

Commit 2db7da5

Browse files
committed
fixup move-only restrictions test
1 parent afd82c5 commit 2db7da5

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

test/Sema/moveonly_restrictions.swift

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,20 @@
33
class CopyableKlass {}
44
@_moveOnly
55
class MoveOnlyKlass {}
6+
@_moveOnly
7+
class MoveOnlyStruct {}
68

79
class C {
810
var copyable: CopyableKlass? = nil
9-
var moveOnly: MoveOnlyKlass? = nil
11+
var moveOnlyC: MoveOnlyKlass? = nil // expected-error {{move-only type 'MoveOnlyKlass' cannot be used with generics yet}}
12+
var moveOnlyS: MoveOnlyStruct? = nil // expected-error {{move-only type 'MoveOnlyStruct' cannot be used with generics yet}}
1013
}
1114

1215
@_moveOnly
1316
class CMoveOnly {
1417
var copyable: CopyableKlass? = nil
15-
var moveOnly: MoveOnlyKlass? = nil
18+
var moveOnlyC: MoveOnlyKlass? = nil // expected-error {{move-only type 'MoveOnlyKlass' cannot be used with generics yet}}
19+
var moveOnlyS: MoveOnlyStruct? = nil // expected-error {{move-only type 'MoveOnlyStruct' cannot be used with generics yet}}
1620
}
1721

1822
struct OptionalGrandField<T> { // expected-error {{generic struct 'OptionalGrandField' cannot contain a move-only type without also being move-only}}
@@ -21,7 +25,8 @@ struct OptionalGrandField<T> { // expected-error {{generic struct 'OptionalGrand
2125
}
2226

2327
struct S0 {
24-
var moveOnly3: OptionalGrandField<MoveOnlyKlass>
28+
var moveOnly3: OptionalGrandField<MoveOnlyKlass> // expected-error {{move-only type 'MoveOnlyKlass' cannot be used with generics yet}}
29+
var moveOnly4: OptionalGrandField<MoveOnlyStruct> // expected-error {{move-only type 'MoveOnlyStruct' cannot be used with generics yet}}
2530
}
2631

2732
struct SCopyable {
@@ -30,9 +35,10 @@ struct SCopyable {
3035

3136
struct S { // expected-error {{struct 'S' cannot contain a move-only type without also being move-only}}
3237
var copyable: CopyableKlass
33-
var moveOnly2: MoveOnlyKlass?
34-
var moveOnly: MoveOnlyKlass // expected-note {{contained move-only property 'S.moveOnly'}}
35-
var moveOnly3: OptionalGrandField<MoveOnlyKlass>
38+
var moveOnly2: MoveOnlyStruct? // expected-error {{move-only type 'MoveOnlyStruct' cannot be used with generics yet}}
39+
var moveOnly: MoveOnlyStruct // expected-note {{contained move-only property 'S.moveOnly'}}
40+
var moveOnly3: OptionalGrandField<MoveOnlyKlass> // expected-error {{move-only type 'MoveOnlyKlass' cannot be used with generics yet}}
41+
var moveOnly3: OptionalGrandField<MoveOnlyStruct> // expected-error {{move-only type 'MoveOnlyStruct' cannot be used with generics yet}}
3642
}
3743

3844
@_moveOnly
@@ -44,7 +50,7 @@ struct SMoveOnly {
4450
enum E { // expected-error {{enum 'E' cannot contain a move-only type without also being move-only}}
4551
case lhs(CopyableKlass)
4652
case rhs(MoveOnlyKlass) // expected-note {{contained move-only enum case 'E.rhs'}}
47-
case rhs2(OptionalGrandField<MoveOnlyKlass>)
53+
case rhs2(OptionalGrandField<MoveOnlyKlass>) // expected-error {{move-only type 'MoveOnlyKlass' cannot be used with generics yet}}
4854
}
4955

5056
@_moveOnly
@@ -56,13 +62,13 @@ enum EMoveOnly {
5662
func foo() {
5763
class C2 {
5864
var copyable: CopyableKlass? = nil
59-
var moveOnly: MoveOnlyKlass? = nil
65+
var moveOnly: MoveOnlyKlass? = nil // expected-error {{move-only type 'MoveOnlyKlass' cannot be used with generics yet}}
6066
}
6167

6268
@_moveOnly
6369
class C2MoveOnly {
6470
var copyable: CopyableKlass? = nil
65-
var moveOnly: MoveOnlyKlass? = nil
71+
var moveOnly: MoveOnlyKlass? = nil // expected-error {{move-only type 'MoveOnlyKlass' cannot be used with generics yet}}
6672
}
6773

6874
struct S2 { // expected-error {{struct 'S2' cannot contain a move-only type without also being move-only}}
@@ -89,13 +95,13 @@ func foo() {
8995
{
9096
class C3 {
9197
var copyable: CopyableKlass? = nil
92-
var moveOnly: MoveOnlyKlass? = nil
98+
var moveOnly: MoveOnlyKlass? = nil // expected-error {{move-only type 'MoveOnlyKlass' cannot be used with generics yet}}
9399
}
94100

95101
@_moveOnly
96102
class C3MoveOnly {
97103
var copyable: CopyableKlass? = nil
98-
var moveOnly: MoveOnlyKlass? = nil
104+
var moveOnly: MoveOnlyKlass? = nil // expected-error {{move-only type 'MoveOnlyKlass' cannot be used with generics yet}}
99105
}
100106

101107
struct S3 { // expected-error {{struct 'S3' cannot contain a move-only type without also being move-only}}

0 commit comments

Comments
 (0)