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