@@ -6,7 +6,7 @@ LL | #[derive(SmartPointer)]
6
6
|
7
7
= note: this error originates in the derive macro `SmartPointer` (in Nightly builds, run with -Z macro-backtrace for more info)
8
8
9
- error: At least one generic type should be designated as `#[pointee]` in order to derive `SmartPointer` traits
9
+ error: `SmartPointer` can only be derived on `struct`s with at least one field
10
10
--> $DIR/deriving-smart-pointer-neg.rs:12:10
11
11
|
12
12
LL | #[derive(SmartPointer)]
@@ -22,60 +22,74 @@ LL | #[derive(SmartPointer)]
22
22
|
23
23
= note: this error originates in the derive macro `SmartPointer` (in Nightly builds, run with -Z macro-backtrace for more info)
24
24
25
- error: `SmartPointer` can only be derived on `struct`s with at least one field
25
+ error: `SmartPointer` can only be derived on `struct`s that are generic over at least one type
26
26
--> $DIR/deriving-smart-pointer-neg.rs:26:10
27
27
|
28
28
LL | #[derive(SmartPointer)]
29
29
| ^^^^^^^^^^^^
30
30
|
31
31
= note: this error originates in the derive macro `SmartPointer` (in Nightly builds, run with -Z macro-backtrace for more info)
32
32
33
+ error: exactly one generic type parameter must be marked as #[pointee] to derive SmartPointer traits
34
+ --> $DIR/deriving-smart-pointer-neg.rs:31:10
35
+ |
36
+ LL | #[derive(SmartPointer)]
37
+ | ^^^^^^^^^^^^
38
+ |
39
+ = note: this error originates in the derive macro `SmartPointer` (in Nightly builds, run with -Z macro-backtrace for more info)
40
+
41
+ error: only one type parameter can be marked as `#[pointee]` when deriving SmartPointer traits
42
+ --> $DIR/deriving-smart-pointer-neg.rs:40:39
43
+ |
44
+ LL | struct TooManyPointees<'a, #[pointee] A: ?Sized, #[pointee] B: ?Sized>((&'a A, &'a B));
45
+ | ^ ^
46
+
33
47
error: `SmartPointer` can only be derived on `struct`s with `#[repr(transparent)]`
34
- --> $DIR/deriving-smart-pointer-neg.rs:33 :10
48
+ --> $DIR/deriving-smart-pointer-neg.rs:43 :10
35
49
|
36
50
LL | #[derive(SmartPointer)]
37
51
| ^^^^^^^^^^^^
38
52
|
39
53
= note: this error originates in the derive macro `SmartPointer` (in Nightly builds, run with -Z macro-backtrace for more info)
40
54
41
55
error: `derive(SmartPointer)` requires T to be marked `?Sized`
42
- --> $DIR/deriving-smart-pointer-neg.rs:41 :36
56
+ --> $DIR/deriving-smart-pointer-neg.rs:51 :36
43
57
|
44
58
LL | struct NoMaybeSized<'a, #[pointee] T> {
45
59
| ^
46
60
47
61
error[E0392]: lifetime parameter `'a` is never used
48
- --> $DIR/deriving-smart-pointer-neg.rs:22 :16
62
+ --> $DIR/deriving-smart-pointer-neg.rs:15 :16
49
63
|
50
64
LL | struct NoField<'a, #[pointee] T: ?Sized> {}
51
65
| ^^ unused lifetime parameter
52
66
|
53
67
= help: consider removing `'a`, referring to it in a field, or using a marker such as `PhantomData`
54
68
55
69
error[E0392]: type parameter `T` is never used
56
- --> $DIR/deriving-smart-pointer-neg.rs:22 :31
70
+ --> $DIR/deriving-smart-pointer-neg.rs:15 :31
57
71
|
58
72
LL | struct NoField<'a, #[pointee] T: ?Sized> {}
59
73
| ^ unused type parameter
60
74
|
61
75
= help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData`
62
76
63
77
error[E0392]: lifetime parameter `'a` is never used
64
- --> $DIR/deriving-smart-pointer-neg.rs:29 :20
78
+ --> $DIR/deriving-smart-pointer-neg.rs:22 :20
65
79
|
66
80
LL | struct NoFieldUnit<'a, #[pointee] T: ?Sized>();
67
81
| ^^ unused lifetime parameter
68
82
|
69
83
= help: consider removing `'a`, referring to it in a field, or using a marker such as `PhantomData`
70
84
71
85
error[E0392]: type parameter `T` is never used
72
- --> $DIR/deriving-smart-pointer-neg.rs:29 :35
86
+ --> $DIR/deriving-smart-pointer-neg.rs:22 :35
73
87
|
74
88
LL | struct NoFieldUnit<'a, #[pointee] T: ?Sized>();
75
89
| ^ unused type parameter
76
90
|
77
91
= help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData`
78
92
79
- error: aborting due to 10 previous errors
93
+ error: aborting due to 12 previous errors
80
94
81
95
For more information about this error, try `rustc --explain E0392`.
0 commit comments