]> git.lizzy.rs Git - rust.git/blob - src/test/ui/reject-specialized-drops-8142.stderr
Rollup merge of #66472 - GuillaumeGomez:show-coverage-json, r=ollie27
[rust.git] / src / test / ui / reject-specialized-drops-8142.stderr
1 error[E0367]: `Drop` impl requires `AddsBnd: Bound` but the union it is implemented for does not
2   --> $DIR/reject-specialized-drops-8142.rs:67:21
3    |
4 LL | impl<AddsBnd:Copy + Bound> Drop for Union<AddsBnd> { fn drop(&mut self) { } } // REJECT
5    |                     ^^^^^
6    |
7 note: the implementor must specify the same requirement
8   --> $DIR/reject-specialized-drops-8142.rs:21:1
9    |
10 LL | union Union<T: Copy> { f: T }
11    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12
13 error[E0367]: `Drop` impl requires `'adds_bnd: 'al` but the struct it is implemented for does not
14   --> $DIR/reject-specialized-drops-8142.rs:23:20
15    |
16 LL | impl<'al,'adds_bnd:'al> Drop for K<'al,'adds_bnd> {                        // REJECT
17    |                    ^^^
18    |
19 note: the implementor must specify the same requirement
20   --> $DIR/reject-specialized-drops-8142.rs:5:1
21    |
22 LL | struct K<'l1,'l2> { x: &'l1 i8, y: &'l2 u8 }
23    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
24
25 error[E0367]: `Drop` impl requires `'adds_bnd: 'al` but the struct it is implemented for does not
26   --> $DIR/reject-specialized-drops-8142.rs:27:67
27    |
28 LL | impl<'al,'adds_bnd>     Drop for L<'al,'adds_bnd> where 'adds_bnd:'al {    // REJECT
29    |                                                                   ^^^
30    |
31 note: the implementor must specify the same requirement
32   --> $DIR/reject-specialized-drops-8142.rs:6:1
33    |
34 LL | struct L<'l1,'l2> { x: &'l1 i8, y: &'l2 u8 }
35    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
36
37 error[E0308]: mismatched types
38   --> $DIR/reject-specialized-drops-8142.rs:33:1
39    |
40 LL | impl                    Drop for N<'static>     { fn drop(&mut self) { } } // REJECT
41    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
42    |
43    = note: expected struct `N<'n>`
44               found struct `N<'static>`
45 note: the lifetime `'n` as defined on the struct at 8:10...
46   --> $DIR/reject-specialized-drops-8142.rs:8:10
47    |
48 LL | struct N<'n> { x: &'n i8 }
49    |          ^^
50    = note: ...does not necessarily outlive the static lifetime
51
52 error[E0366]: `Drop` impls cannot be specialized
53   --> $DIR/reject-specialized-drops-8142.rs:40:1
54    |
55 LL | impl              Drop for P<i8>          { fn drop(&mut self) { } } // REJECT
56    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
57    |
58 note: use the same sequence of generic type, lifetime and const parameters as the struct definition
59   --> $DIR/reject-specialized-drops-8142.rs:10:1
60    |
61 LL | struct P<Tp> { x: *const Tp }
62    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
63
64 error[E0367]: `Drop` impl requires `AddsBnd: Bound` but the struct it is implemented for does not
65   --> $DIR/reject-specialized-drops-8142.rs:43:14
66    |
67 LL | impl<AddsBnd:Bound> Drop for Q<AddsBnd> { fn drop(&mut self) { } } // REJECT
68    |              ^^^^^
69    |
70 note: the implementor must specify the same requirement
71   --> $DIR/reject-specialized-drops-8142.rs:11:1
72    |
73 LL | struct Q<Tq> { x: *const Tq }
74    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
75
76 error[E0367]: `Drop` impl requires `AddsRBnd: 'rbnd` but the struct it is implemented for does not
77   --> $DIR/reject-specialized-drops-8142.rs:46:21
78    |
79 LL | impl<'rbnd,AddsRBnd:'rbnd> Drop for R<AddsRBnd> { fn drop(&mut self) { } } // REJECT
80    |                     ^^^^^
81    |
82 note: the implementor must specify the same requirement
83   --> $DIR/reject-specialized-drops-8142.rs:12:1
84    |
85 LL | struct R<Tr> { x: *const Tr }
86    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
87
88 error[E0366]: `Drop` impls cannot be specialized
89   --> $DIR/reject-specialized-drops-8142.rs:55:1
90    |
91 LL | impl<One>         Drop for V<One,One>     { fn drop(&mut self) { } } // REJECT
92    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
93    |
94 note: use the same sequence of generic type, lifetime and const parameters as the struct definition
95   --> $DIR/reject-specialized-drops-8142.rs:16:1
96    |
97 LL | struct V<Tva, Tvb> { x: *const Tva, y: *const Tvb }
98    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
99
100 error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'lw` due to conflicting requirements
101   --> $DIR/reject-specialized-drops-8142.rs:58:1
102    |
103 LL | impl<'lw>         Drop for W<'lw,'lw>     { fn drop(&mut self) { } } // REJECT
104    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
105    |
106 note: first, the lifetime cannot outlive the lifetime `'l1` as defined on the struct at 17:10...
107   --> $DIR/reject-specialized-drops-8142.rs:17:10
108    |
109 LL | struct W<'l1, 'l2> { x: &'l1 i8, y: &'l2 u8 }
110    |          ^^^
111 note: ...but the lifetime must also be valid for the lifetime `'l2` as defined on the struct at 17:15...
112   --> $DIR/reject-specialized-drops-8142.rs:17:15
113    |
114 LL | struct W<'l1, 'l2> { x: &'l1 i8, y: &'l2 u8 }
115    |               ^^^
116 note: ...so that the types are compatible
117   --> $DIR/reject-specialized-drops-8142.rs:58:1
118    |
119 LL | impl<'lw>         Drop for W<'lw,'lw>     { fn drop(&mut self) { } } // REJECT
120    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
121    = note: expected  `W<'l1, 'l2>`
122               found  `W<'_, '_>`
123
124 error[E0367]: `Drop` impl requires `AddsBnd: Bound` but the enum it is implemented for does not
125   --> $DIR/reject-specialized-drops-8142.rs:61:14
126    |
127 LL | impl<AddsBnd:Bound> Drop for Enum<AddsBnd> { fn drop(&mut self) { } } // REJECT
128    |              ^^^^^
129    |
130 note: the implementor must specify the same requirement
131   --> $DIR/reject-specialized-drops-8142.rs:19:1
132    |
133 LL | enum Enum<T> { Variant(T) }
134    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
135
136 error[E0367]: `Drop` impl requires `AddsBnd: Bound` but the struct it is implemented for does not
137   --> $DIR/reject-specialized-drops-8142.rs:64:14
138    |
139 LL | impl<AddsBnd:Bound> Drop for TupleStruct<AddsBnd> { fn drop(&mut self) { } } // REJECT
140    |              ^^^^^
141    |
142 note: the implementor must specify the same requirement
143   --> $DIR/reject-specialized-drops-8142.rs:20:1
144    |
145 LL | struct TupleStruct<T>(T);
146    | ^^^^^^^^^^^^^^^^^^^^^^^^^
147
148 error: aborting due to 11 previous errors
149
150 Some errors have detailed explanations: E0308, E0366, E0367, E0495.
151 For more information about an error, try `rustc --explain E0308`.