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:24:20
4 LL | impl<'al,'adds_bnd:'al> Drop for K<'al,'adds_bnd> { // REJECT
7 note: the implementor must specify the same requirement
8 --> $DIR/reject-specialized-drops-8142.rs:4:1
10 LL | struct K<'l1,'l2> { x: &'l1 i8, y: &'l2 u8 }
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:28:67
16 LL | impl<'al,'adds_bnd> Drop for L<'al,'adds_bnd> where 'adds_bnd:'al { // REJECT
19 note: the implementor must specify the same requirement
20 --> $DIR/reject-specialized-drops-8142.rs:5:1
22 LL | struct L<'l1,'l2> { x: &'l1 i8, y: &'l2 u8 }
25 error[E0366]: `Drop` impls cannot be specialized
26 --> $DIR/reject-specialized-drops-8142.rs:34:1
28 LL | impl Drop for N<'static> { fn drop(&mut self) { } } // REJECT
29 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31 = note: `'static` is not a generic parameter
32 note: use the same sequence of generic lifetime, type and const parameters as the struct definition
33 --> $DIR/reject-specialized-drops-8142.rs:7:1
35 LL | struct N<'n> { x: &'n i8 }
38 error[E0366]: `Drop` impls cannot be specialized
39 --> $DIR/reject-specialized-drops-8142.rs:39:1
41 LL | impl Drop for P<i8> { fn drop(&mut self) { } } // REJECT
42 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44 = note: `i8` is not a generic parameter
45 note: use the same sequence of generic lifetime, type and const parameters as the struct definition
46 --> $DIR/reject-specialized-drops-8142.rs:9:1
48 LL | struct P<Tp> { x: *const Tp }
51 error[E0367]: `Drop` impl requires `AddsBnd: Bound` but the struct it is implemented for does not
52 --> $DIR/reject-specialized-drops-8142.rs:42:14
54 LL | impl<AddsBnd:Bound> Drop for Q<AddsBnd> { fn drop(&mut self) { } } // REJECT
57 note: the implementor must specify the same requirement
58 --> $DIR/reject-specialized-drops-8142.rs:10:1
60 LL | struct Q<Tq> { x: *const Tq }
63 error[E0367]: `Drop` impl requires `AddsRBnd: 'rbnd` but the struct it is implemented for does not
64 --> $DIR/reject-specialized-drops-8142.rs:45:21
66 LL | impl<'rbnd,AddsRBnd:'rbnd> Drop for R<AddsRBnd> { fn drop(&mut self) { } } // REJECT
69 note: the implementor must specify the same requirement
70 --> $DIR/reject-specialized-drops-8142.rs:11:1
72 LL | struct R<Tr> { x: *const Tr }
75 error[E0366]: `Drop` impls cannot be specialized
76 --> $DIR/reject-specialized-drops-8142.rs:54:1
78 LL | impl<One> Drop for V<One,One> { fn drop(&mut self) { } } // REJECT
79 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
81 = note: `One` is mentioned multiple times
82 note: use the same sequence of generic lifetime, type and const parameters as the struct definition
83 --> $DIR/reject-specialized-drops-8142.rs:15:1
85 LL | struct V<Tva, Tvb> { x: *const Tva, y: *const Tvb }
88 error[E0366]: `Drop` impls cannot be specialized
89 --> $DIR/reject-specialized-drops-8142.rs:57:1
91 LL | impl<'lw> Drop for W<'lw,'lw> { fn drop(&mut self) { } } // REJECT
92 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
94 = note: `'lw` is mentioned multiple times
95 note: use the same sequence of generic lifetime, type and const parameters as the struct definition
96 --> $DIR/reject-specialized-drops-8142.rs:16:1
98 LL | struct W<'l1, 'l2> { x: &'l1 i8, y: &'l2 u8 }
101 error[E0366]: `Drop` impls cannot be specialized
102 --> $DIR/reject-specialized-drops-8142.rs:60:1
104 LL | impl Drop for X<3> { fn drop(&mut self) { } } // REJECT
105 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
107 = note: `3` is not a generic parameter
108 note: use the same sequence of generic lifetime, type and const parameters as the struct definition
109 --> $DIR/reject-specialized-drops-8142.rs:17:1
111 LL | struct X<const Ca: usize>;
112 | ^^^^^^^^^^^^^^^^^^^^^^^^^
114 error[E0366]: `Drop` impls cannot be specialized
115 --> $DIR/reject-specialized-drops-8142.rs:63:1
117 LL | impl<const Ca: usize> Drop for Y<Ca, Ca> { fn drop(&mut self) { } } // REJECT
118 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
120 = note: `Ca` is mentioned multiple times
121 note: use the same sequence of generic lifetime, type and const parameters as the struct definition
122 --> $DIR/reject-specialized-drops-8142.rs:18:1
124 LL | struct Y<const Ca: usize, const Cb: usize>;
125 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
127 error[E0367]: `Drop` impl requires `AddsBnd: Bound` but the enum it is implemented for does not
128 --> $DIR/reject-specialized-drops-8142.rs:66:14
130 LL | impl<AddsBnd:Bound> Drop for Enum<AddsBnd> { fn drop(&mut self) { } } // REJECT
133 note: the implementor must specify the same requirement
134 --> $DIR/reject-specialized-drops-8142.rs:20:1
136 LL | enum Enum<T> { Variant(T) }
139 error[E0367]: `Drop` impl requires `AddsBnd: Bound` but the struct it is implemented for does not
140 --> $DIR/reject-specialized-drops-8142.rs:69:14
142 LL | impl<AddsBnd:Bound> Drop for TupleStruct<AddsBnd> { fn drop(&mut self) { } } // REJECT
145 note: the implementor must specify the same requirement
146 --> $DIR/reject-specialized-drops-8142.rs:21:1
148 LL | struct TupleStruct<T>(T);
149 | ^^^^^^^^^^^^^^^^^^^^^
151 error[E0367]: `Drop` impl requires `AddsBnd: Bound` but the union it is implemented for does not
152 --> $DIR/reject-specialized-drops-8142.rs:72:21
154 LL | impl<AddsBnd:Copy + Bound> Drop for Union<AddsBnd> { fn drop(&mut self) { } } // REJECT
157 note: the implementor must specify the same requirement
158 --> $DIR/reject-specialized-drops-8142.rs:22:1
160 LL | union Union<T: Copy> { f: T }
161 | ^^^^^^^^^^^^^^^^^^^^
163 error: aborting due to 13 previous errors
165 Some errors have detailed explanations: E0366, E0367.
166 For more information about an error, try `rustc --explain E0366`.