365 lines
14 KiB
Plaintext
365 lines
14 KiB
Plaintext
error: unexpected token: `()`
|
|
--> tests/ui/pin_project/invalid.rs:6:14
|
|
|
|
|
6 | #[pin()] //~ ERROR unexpected token
|
|
| ^^
|
|
|
|
error: unexpected token: `(foo)`
|
|
--> tests/ui/pin_project/invalid.rs:11:29
|
|
|
|
|
11 | struct TupleStruct(#[pin(foo)] ()); //~ ERROR unexpected token
|
|
| ^^^^^
|
|
|
|
error: unexpected token: `(foo)`
|
|
--> tests/ui/pin_project/invalid.rs:15:16
|
|
|
|
|
15 | V(#[pin(foo)] ()), //~ ERROR unexpected token
|
|
| ^^^^^
|
|
|
|
error: unexpected token: `(foo)`
|
|
--> tests/ui/pin_project/invalid.rs:21:18
|
|
|
|
|
21 | #[pin(foo)] //~ ERROR unexpected token
|
|
| ^^^^^
|
|
|
|
error: duplicate #[pin] attribute
|
|
--> tests/ui/pin_project/invalid.rs:33:9
|
|
|
|
|
33 | #[pin] //~ ERROR duplicate #[pin] attribute
|
|
| ^^^^^^
|
|
|
|
error: duplicate #[pin] attribute
|
|
--> tests/ui/pin_project/invalid.rs:40:9
|
|
|
|
|
40 | #[pin]
|
|
| ^^^^^^
|
|
|
|
error: duplicate #[pin] attribute
|
|
--> tests/ui/pin_project/invalid.rs:49:13
|
|
|
|
|
49 | #[pin]
|
|
| ^^^^^^
|
|
|
|
error: duplicate #[pin] attribute
|
|
--> tests/ui/pin_project/invalid.rs:59:13
|
|
|
|
|
59 | #[pin] //~ ERROR duplicate #[pin] attribute
|
|
| ^^^^^^
|
|
|
|
error: #[pin] attribute may only be used on fields of structs or variants
|
|
--> tests/ui/pin_project/invalid.rs:69:5
|
|
|
|
|
69 | #[pin] //~ ERROR may only be used on fields of structs or variants
|
|
| ^^^^^^
|
|
|
|
error: #[pin] attribute may only be used on fields of structs or variants
|
|
--> tests/ui/pin_project/invalid.rs:77:9
|
|
|
|
|
77 | #[pin] //~ ERROR may only be used on fields of structs or variants
|
|
| ^^^^^^
|
|
|
|
error: #[pin] attribute may only be used on fields of structs or variants
|
|
--> tests/ui/pin_project/invalid.rs:82:5
|
|
|
|
|
82 | #[pin] //~ ERROR may only be used on fields of structs or variants
|
|
| ^^^^^^
|
|
|
|
error: `Replace` argument was removed, use `project_replace` argument instead
|
|
--> tests/ui/pin_project/invalid.rs:91:19
|
|
|
|
|
91 | #[pin_project(Replace)] //~ ERROR `Replace` argument was removed, use `project_replace` argument instead
|
|
| ^^^^^^^
|
|
|
|
error: expected identifier
|
|
--> tests/ui/pin_project/invalid.rs:94:31
|
|
|
|
|
94 | #[pin_project(UnsafeUnpin,,)] //~ ERROR expected identifier
|
|
| ^
|
|
|
|
error: unexpected argument: Foo
|
|
--> tests/ui/pin_project/invalid.rs:97:19
|
|
|
|
|
97 | #[pin_project(Foo)] //~ ERROR unexpected argument
|
|
| ^^^
|
|
|
|
error: expected identifier
|
|
--> tests/ui/pin_project/invalid.rs:100:19
|
|
|
|
|
100 | #[pin_project(,UnsafeUnpin)] //~ ERROR expected identifier
|
|
| ^
|
|
|
|
error: expected `,`
|
|
--> tests/ui/pin_project/invalid.rs:106:30
|
|
|
|
|
106 | #[pin_project(PinnedDrop PinnedDrop)] //~ ERROR expected `,`
|
|
| ^^^^^^^^^^
|
|
|
|
error: duplicate `PinnedDrop` argument
|
|
--> tests/ui/pin_project/invalid.rs:109:31
|
|
|
|
|
109 | #[pin_project(PinnedDrop, PinnedDrop)] //~ ERROR duplicate `PinnedDrop` argument
|
|
| ^^^^^^^^^^
|
|
|
|
error: duplicate `UnsafeUnpin` argument
|
|
--> tests/ui/pin_project/invalid.rs:112:32
|
|
|
|
|
112 | #[pin_project(UnsafeUnpin, UnsafeUnpin)] //~ ERROR duplicate `UnsafeUnpin` argument
|
|
| ^^^^^^^^^^^
|
|
|
|
error: duplicate `!Unpin` argument
|
|
--> tests/ui/pin_project/invalid.rs:115:27
|
|
|
|
|
115 | #[pin_project(!Unpin, !Unpin)] //~ ERROR duplicate `!Unpin` argument
|
|
| ^^^^^^
|
|
|
|
error: duplicate `UnsafeUnpin` argument
|
|
--> tests/ui/pin_project/invalid.rs:118:44
|
|
|
|
|
118 | #[pin_project(PinnedDrop, UnsafeUnpin, UnsafeUnpin)] //~ ERROR duplicate `UnsafeUnpin` argument
|
|
| ^^^^^^^^^^^
|
|
|
|
error: duplicate `PinnedDrop` argument
|
|
--> tests/ui/pin_project/invalid.rs:121:44
|
|
|
|
|
121 | #[pin_project(PinnedDrop, UnsafeUnpin, PinnedDrop, UnsafeUnpin)] //~ ERROR duplicate `PinnedDrop` argument
|
|
| ^^^^^^^^^^
|
|
|
|
error: duplicate `project` argument
|
|
--> tests/ui/pin_project/invalid.rs:124:32
|
|
|
|
|
124 | #[pin_project(project = A, project = B)] //~ ERROR duplicate `project` argument
|
|
| ^^^^^^^^^^^
|
|
|
|
error: duplicate `project` argument
|
|
--> tests/ui/pin_project/invalid.rs:127:49
|
|
|
|
|
127 | #[pin_project(project = A, project_ref = A, project = B)] //~ ERROR duplicate `project` argument
|
|
| ^^^^^^^^^^^
|
|
|
|
error: duplicate `project_ref` argument
|
|
--> tests/ui/pin_project/invalid.rs:130:36
|
|
|
|
|
130 | #[pin_project(project_ref = A, project_ref = B)] //~ ERROR duplicate `project_ref` argument
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
error: duplicate `project_replace` argument
|
|
--> tests/ui/pin_project/invalid.rs:133:40
|
|
|
|
|
133 | #[pin_project(project_replace = A, project_replace = B)] //~ ERROR duplicate `project_replace` argument
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: duplicate `project_replace` argument
|
|
--> tests/ui/pin_project/invalid.rs:136:36
|
|
|
|
|
136 | #[pin_project(project_replace, project_replace = B)] //~ ERROR duplicate `project_replace` argument
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: duplicate `project_replace` argument
|
|
--> tests/ui/pin_project/invalid.rs:139:40
|
|
|
|
|
139 | #[pin_project(project_replace = A, project_replace)] //~ ERROR duplicate `project_replace` argument
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
error: arguments `PinnedDrop` and `project_replace` are mutually exclusive
|
|
--> tests/ui/pin_project/invalid.rs:145:19
|
|
|
|
|
145 | #[pin_project(PinnedDrop, project_replace)] //~ ERROR arguments `PinnedDrop` and `project_replace` are mutually exclusive
|
|
| ^^^^^^^^^^
|
|
|
|
error: arguments `PinnedDrop` and `project_replace` are mutually exclusive
|
|
--> tests/ui/pin_project/invalid.rs:148:49
|
|
|
|
|
148 | #[pin_project(project_replace, UnsafeUnpin, PinnedDrop)] //~ ERROR arguments `PinnedDrop` and `project_replace` are mutually exclusive
|
|
| ^^^^^^^^^^
|
|
|
|
error: arguments `UnsafeUnpin` and `!Unpin` are mutually exclusive
|
|
--> tests/ui/pin_project/invalid.rs:151:19
|
|
|
|
|
151 | #[pin_project(UnsafeUnpin, !Unpin)] //~ ERROR arguments `UnsafeUnpin` and `!Unpin` are mutually exclusive
|
|
| ^^^^^^^^^^^
|
|
|
|
error: arguments `UnsafeUnpin` and `!Unpin` are mutually exclusive
|
|
--> tests/ui/pin_project/invalid.rs:154:39
|
|
|
|
|
154 | #[pin_project(!Unpin, PinnedDrop, UnsafeUnpin)] //~ ERROR arguments `UnsafeUnpin` and `!Unpin` are mutually exclusive
|
|
| ^^^^^^^^^^^
|
|
|
|
error: expected `!Unpin`, found `!`
|
|
--> tests/ui/pin_project/invalid.rs:157:19
|
|
|
|
|
157 | #[pin_project(!)] //~ ERROR expected `!Unpin`, found `!`
|
|
| ^
|
|
|
|
error: unexpected argument: Unpin
|
|
--> tests/ui/pin_project/invalid.rs:160:19
|
|
|
|
|
160 | #[pin_project(Unpin)] //~ ERROR unexpected argument
|
|
| ^^^^^
|
|
|
|
error: expected `project = <identifier>`, found `project`
|
|
--> tests/ui/pin_project/invalid.rs:163:19
|
|
|
|
|
163 | #[pin_project(project)] //~ ERROR expected `project = <identifier>`, found `project`
|
|
| ^^^^^^^
|
|
|
|
error: expected `project = <identifier>`, found `project =`
|
|
--> tests/ui/pin_project/invalid.rs:166:19
|
|
|
|
|
166 | #[pin_project(project = )] //~ ERROR expected `project = <identifier>`, found `project =`
|
|
| ^^^^^^^^^
|
|
|
|
error: expected identifier
|
|
--> tests/ui/pin_project/invalid.rs:169:29
|
|
|
|
|
169 | #[pin_project(project = !)] //~ ERROR expected identifier
|
|
| ^
|
|
|
|
error: expected `project_ref = <identifier>`, found `project_ref`
|
|
--> tests/ui/pin_project/invalid.rs:172:19
|
|
|
|
|
172 | #[pin_project(project_ref)] //~ ERROR expected `project_ref = <identifier>`, found `project_ref`
|
|
| ^^^^^^^^^^^
|
|
|
|
error: expected `project_ref = <identifier>`, found `project_ref =`
|
|
--> tests/ui/pin_project/invalid.rs:175:19
|
|
|
|
|
175 | #[pin_project(project_ref = )] //~ ERROR expected `project_ref = <identifier>`, found `project_ref =`
|
|
| ^^^^^^^^^^^^^
|
|
|
|
error: expected identifier
|
|
--> tests/ui/pin_project/invalid.rs:178:33
|
|
|
|
|
178 | #[pin_project(project_ref = !)] //~ ERROR expected identifier
|
|
| ^
|
|
|
|
error: expected `project_replace = <identifier>`, found `project_replace =`
|
|
--> tests/ui/pin_project/invalid.rs:184:19
|
|
|
|
|
184 | #[pin_project(project_replace = )] //~ ERROR expected `project_replace = <identifier>`, found `project_replace =`
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
error: expected identifier
|
|
--> tests/ui/pin_project/invalid.rs:187:37
|
|
|
|
|
187 | #[pin_project(project_replace = !)] //~ ERROR expected identifier
|
|
| ^
|
|
|
|
error: `project_replace` argument requires a value when used on enums
|
|
--> tests/ui/pin_project/invalid.rs:190:19
|
|
|
|
|
190 | #[pin_project(project_replace)] //~ ERROR `project_replace` argument requires a value when used on enums
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
error: name `OrigAndProj` is the same as the original type name
|
|
--> tests/ui/pin_project/invalid.rs:199:29
|
|
|
|
|
199 | #[pin_project(project = OrigAndProj)] //~ ERROR name `OrigAndProj` is the same as the original type name
|
|
| ^^^^^^^^^^^
|
|
|
|
error: name `OrigAndProjRef` is the same as the original type name
|
|
--> tests/ui/pin_project/invalid.rs:202:33
|
|
|
|
|
202 | #[pin_project(project_ref = OrigAndProjRef)] //~ ERROR name `OrigAndProjRef` is the same as the original type name
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
error: name `OrigAndProjOwn` is the same as the original type name
|
|
--> tests/ui/pin_project/invalid.rs:205:37
|
|
|
|
|
205 | #[pin_project(project_replace = OrigAndProjOwn)] //~ ERROR name `OrigAndProjOwn` is the same as the original type name
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
error: name `A` is already specified by `project` argument
|
|
--> tests/ui/pin_project/invalid.rs:208:46
|
|
|
|
|
208 | #[pin_project(project = A, project_ref = A)] //~ ERROR name `A` is already specified by `project` argument
|
|
| ^
|
|
|
|
error: name `A` is already specified by `project` argument
|
|
--> tests/ui/pin_project/invalid.rs:211:50
|
|
|
|
|
211 | #[pin_project(project = A, project_replace = A)] //~ ERROR name `A` is already specified by `project` argument
|
|
| ^
|
|
|
|
error: name `A` is already specified by `project_ref` argument
|
|
--> tests/ui/pin_project/invalid.rs:214:54
|
|
|
|
|
214 | #[pin_project(project_ref = A, project_replace = A)] //~ ERROR name `A` is already specified by `project_ref` argument
|
|
| ^
|
|
|
|
error: duplicate #[pin_project] attribute
|
|
--> tests/ui/pin_project/invalid.rs:222:5
|
|
|
|
|
222 | #[pin_project] //~ ERROR duplicate #[pin_project] attribute
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
error: #[pin_project] attribute may not be used on structs with zero fields
|
|
--> tests/ui/pin_project/invalid.rs:230:19
|
|
|
|
|
230 | struct Struct {} //~ ERROR may not be used on structs with zero fields
|
|
| ^^
|
|
|
|
error: #[pin_project] attribute may not be used on structs with zero fields
|
|
--> tests/ui/pin_project/invalid.rs:233:23
|
|
|
|
|
233 | struct TupleStruct(); //~ ERROR may not be used on structs with zero fields
|
|
| ^^
|
|
|
|
error: #[pin_project] attribute may not be used on structs with zero fields
|
|
--> tests/ui/pin_project/invalid.rs:236:12
|
|
|
|
|
236 | struct UnitStruct; //~ ERROR may not be used on structs with zero fields
|
|
| ^^^^^^^^^^
|
|
|
|
error: #[pin_project] attribute may not be used on enums without variants
|
|
--> tests/ui/pin_project/invalid.rs:239:20
|
|
|
|
|
239 | enum EnumEmpty {} //~ ERROR may not be used on enums without variants
|
|
| ^^
|
|
|
|
error: #[pin_project] attribute may not be used on enums with discriminants
|
|
--> tests/ui/pin_project/invalid.rs:243:13
|
|
|
|
|
243 | V = 2, //~ ERROR may not be used on enums with discriminants
|
|
| ^
|
|
|
|
error: #[pin_project] attribute may not be used on enums with zero fields
|
|
--> tests/ui/pin_project/invalid.rs:248:9
|
|
|
|
|
248 | / Unit, //~ ERROR may not be used on enums with zero fields
|
|
249 | | Tuple(),
|
|
250 | | Struct {},
|
|
| |__________________^
|
|
|
|
error: #[pin_project] attribute may only be used on structs or enums
|
|
--> tests/ui/pin_project/invalid.rs:254:5
|
|
|
|
|
254 | / union Union {
|
|
255 | | //~^ ERROR may only be used on structs or enums
|
|
256 | | f: (),
|
|
257 | | }
|
|
| |_____^
|
|
|
|
error: #[pin_project] attribute may only be used on structs or enums
|
|
--> tests/ui/pin_project/invalid.rs:260:5
|
|
|
|
|
260 | impl Impl {} //~ ERROR may only be used on structs or enums
|
|
| ^^^^^^^^^^^^
|
|
|
|
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
|
--> tests/ui/pin_project/invalid.rs:268:12
|
|
|
|
|
268 | #[repr(packed)]
|
|
| ^^^^^^
|
|
|
|
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
|
--> tests/ui/pin_project/invalid.rs:272:12
|
|
|
|
|
272 | #[repr(packed)]
|
|
| ^^^^^^
|
|
|
|
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
|
--> tests/ui/pin_project/invalid.rs:276:12
|
|
|
|
|
276 | #[repr(packed)]
|
|
| ^^^^^^
|