]> git.lizzy.rs Git - rust.git/blob - src/test/ui/reject-specialized-drops-8142.stderr
Rollup merge of #57132 - daxpedda:master, r=steveklabnik
[rust.git] / src / test / ui / reject-specialized-drops-8142.stderr
1 error[E0367]: The requirement `'adds_bnd : 'al` is added only by the Drop impl.
2   --> $DIR/reject-specialized-drops-8142.rs:19:1
3    |
4 LL | / impl<'al,'adds_bnd:'al> Drop for K<'al,'adds_bnd> {                        // REJECT
5 LL | |     //~^ ERROR The requirement `'adds_bnd : 'al` is added only by the Drop impl.
6 LL | |     fn drop(&mut self) { } }
7    | |____________________________^
8    |
9 note: The same requirement must be part of the struct/enum definition
10   --> $DIR/reject-specialized-drops-8142.rs:5:1
11    |
12 LL | struct K<'l1,'l2> { x: &'l1 i8, y: &'l2 u8 }
13    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
14
15 error[E0367]: The requirement `'adds_bnd : 'al` is added only by the Drop impl.
16   --> $DIR/reject-specialized-drops-8142.rs:23:1
17    |
18 LL | / impl<'al,'adds_bnd>     Drop for L<'al,'adds_bnd> where 'adds_bnd:'al {    // REJECT
19 LL | |     //~^ ERROR The requirement `'adds_bnd : 'al` is added only by the Drop impl.
20 LL | |     fn drop(&mut self) { } }
21    | |____________________________^
22    |
23 note: The same requirement must be part of the struct/enum definition
24   --> $DIR/reject-specialized-drops-8142.rs:6:1
25    |
26 LL | struct L<'l1,'l2> { x: &'l1 i8, y: &'l2 u8 }
27    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
28
29 error[E0308]: mismatched types
30   --> $DIR/reject-specialized-drops-8142.rs:29:1
31    |
32 LL | impl                    Drop for N<'static>     { fn drop(&mut self) { } } // REJECT
33    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
34    |
35    = note: expected type `N<'n>`
36               found type `N<'static>`
37 note: the lifetime 'n as defined on the struct at 8:10...
38   --> $DIR/reject-specialized-drops-8142.rs:8:10
39    |
40 LL | struct N<'n> { x: &'n i8 }
41    |          ^^
42    = note: ...does not necessarily outlive the static lifetime
43
44 error[E0366]: Implementations of Drop cannot be specialized
45   --> $DIR/reject-specialized-drops-8142.rs:36:1
46    |
47 LL | impl              Drop for P<i8>          { fn drop(&mut self) { } } // REJECT
48    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
49    |
50 note: Use same sequence of generic type and region parameters that is on the struct/enum definition
51   --> $DIR/reject-specialized-drops-8142.rs:10:1
52    |
53 LL | struct P<Tp> { x: *const Tp }
54    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55
56 error[E0367]: The requirement `AddsBnd: Bound` is added only by the Drop impl.
57   --> $DIR/reject-specialized-drops-8142.rs:39:1
58    |
59 LL | impl<AddsBnd:Bound> Drop for Q<AddsBnd> { fn drop(&mut self) { } } // REJECT
60    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
61    |
62 note: The same requirement must be part of the struct/enum definition
63   --> $DIR/reject-specialized-drops-8142.rs:11:1
64    |
65 LL | struct Q<Tq> { x: *const Tq }
66    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
67
68 error[E0367]: The requirement `AddsRBnd : 'rbnd` is added only by the Drop impl.
69   --> $DIR/reject-specialized-drops-8142.rs:42:1
70    |
71 LL | impl<'rbnd,AddsRBnd:'rbnd> Drop for R<AddsRBnd> { fn drop(&mut self) { } } // REJECT
72    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
73    |
74 note: The same requirement must be part of the struct/enum definition
75   --> $DIR/reject-specialized-drops-8142.rs:12:1
76    |
77 LL | struct R<Tr> { x: *const Tr }
78    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
79
80 error[E0366]: Implementations of Drop cannot be specialized
81   --> $DIR/reject-specialized-drops-8142.rs:51:1
82    |
83 LL | impl<One>         Drop for V<One,One>     { fn drop(&mut self) { } } // REJECT
84    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
85    |
86 note: Use same sequence of generic type and region parameters that is on the struct/enum definition
87   --> $DIR/reject-specialized-drops-8142.rs:16:1
88    |
89 LL | struct V<Tva, Tvb> { x: *const Tva, y: *const Tvb }
90    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
91
92 error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'lw` due to conflicting requirements
93   --> $DIR/reject-specialized-drops-8142.rs:54:1
94    |
95 LL | impl<'lw>         Drop for W<'lw,'lw>     { fn drop(&mut self) { } } // REJECT
96    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
97    |
98 note: first, the lifetime cannot outlive the lifetime 'l1 as defined on the struct at 17:10...
99   --> $DIR/reject-specialized-drops-8142.rs:17:10
100    |
101 LL | struct W<'l1, 'l2> { x: &'l1 i8, y: &'l2 u8 }
102    |          ^^^
103 note: ...but the lifetime must also be valid for the lifetime 'l2 as defined on the struct at 17:15...
104   --> $DIR/reject-specialized-drops-8142.rs:17:15
105    |
106 LL | struct W<'l1, 'l2> { x: &'l1 i8, y: &'l2 u8 }
107    |               ^^^
108    = note: ...so that the types are compatible:
109            expected W<'l1, 'l2>
110               found W<'_, '_>
111
112 error: aborting due to 8 previous errors
113
114 Some errors occurred: E0308, E0366, E0367, E0495.
115 For more information about an error, try `rustc --explain E0308`.