]> git.lizzy.rs Git - rust.git/blob - src/test/ui/reject-specialized-drops-8142.stderr
Auto merge of #54624 - arielb1:evaluate-outlives, r=nikomatsakis
[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:29: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:15: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:33: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:16: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:39: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 18:10...
38   --> $DIR/reject-specialized-drops-8142.rs:18: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:46: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:20:1
52    |
53 LL | struct P<Tp> { x: *const Tp }
54    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55
56 error[E0367]: The requirement `Adds_bnd: Bound` is added only by the Drop impl.
57   --> $DIR/reject-specialized-drops-8142.rs:49:1
58    |
59 LL | impl<Adds_bnd:Bound> Drop for Q<Adds_bnd> { 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:21:1
64    |
65 LL | struct Q<Tq> { x: *const Tq }
66    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
67
68 error[E0367]: The requirement `Adds_rbnd : 'rbnd` is added only by the Drop impl.
69   --> $DIR/reject-specialized-drops-8142.rs:52:1
70    |
71 LL | impl<'rbnd,Adds_rbnd:'rbnd> Drop for R<Adds_rbnd> { 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:22: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:61: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:26: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:64: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 27:10...
99   --> $DIR/reject-specialized-drops-8142.rs:27: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 27:15...
104   --> $DIR/reject-specialized-drops-8142.rs:27: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`.