]> git.proxmox.com Git - rustc.git/blob - src/test/ui/c-variadic/variadic-ffi-4.stderr
New upstream version 1.54.0+dfsg1
[rustc.git] / src / test / ui / c-variadic / variadic-ffi-4.stderr
1 error: lifetime may not live long enough
2 --> $DIR/variadic-ffi-4.rs:8:5
3 |
4 LL | pub unsafe extern "C" fn no_escape0<'f>(_: usize, ap: ...) -> VaListImpl<'f> {
5 | -- -- has type `VaListImpl<'1>`
6 | |
7 | lifetime `'f` defined here
8 LL | ap
9 | ^^ function was supposed to return data with lifetime `'1` but it is returning data with lifetime `'f`
10
11 error: lifetime may not live long enough
12 --> $DIR/variadic-ffi-4.rs:8:5
13 |
14 LL | pub unsafe extern "C" fn no_escape0<'f>(_: usize, ap: ...) -> VaListImpl<'f> {
15 | -- -- has type `VaListImpl<'1>`
16 | |
17 | lifetime `'f` defined here
18 LL | ap
19 | ^^ returning this value requires that `'1` must outlive `'f`
20
21 error: lifetime may not live long enough
22 --> $DIR/variadic-ffi-4.rs:14:5
23 |
24 LL | pub unsafe extern "C" fn no_escape1(_: usize, ap: ...) -> VaListImpl<'static> {
25 | -- has type `VaListImpl<'1>`
26 LL | ap
27 | ^^ returning this value requires that `'1` must outlive `'static`
28
29 error: lifetime may not live long enough
30 --> $DIR/variadic-ffi-4.rs:18:31
31 |
32 LL | let _ = ap.with_copy(|ap| ap);
33 | --- ^^ returning this value requires that `'1` must outlive `'2`
34 | | |
35 | | return type of closure is VaList<'2, '_>
36 | has type `VaList<'1, '_>`
37
38 error: lifetime may not live long enough
39 --> $DIR/variadic-ffi-4.rs:22:5
40 |
41 LL | pub unsafe extern "C" fn no_escape3(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) {
42 | ------- ------- has type `VaListImpl<'2>`
43 | |
44 | has type `&mut VaListImpl<'1>`
45 LL | *ap0 = ap1;
46 | ^^^^ assignment requires that `'1` must outlive `'2`
47
48 error: lifetime may not live long enough
49 --> $DIR/variadic-ffi-4.rs:22:5
50 |
51 LL | pub unsafe extern "C" fn no_escape3(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) {
52 | ------- ------- has type `VaListImpl<'2>`
53 | |
54 | has type `&mut VaListImpl<'1>`
55 LL | *ap0 = ap1;
56 | ^^^^ assignment requires that `'2` must outlive `'1`
57
58 error: lifetime may not live long enough
59 --> $DIR/variadic-ffi-4.rs:28:5
60 |
61 LL | pub unsafe extern "C" fn no_escape4(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) {
62 | ------- ------- has type `VaListImpl<'2>`
63 | |
64 | has type `&mut VaListImpl<'1>`
65 LL | ap0 = &mut ap1;
66 | ^^^^^^^^^^^^^^ assignment requires that `'1` must outlive `'2`
67 |
68 = note: requirement occurs because of a mutable reference to VaListImpl<'_>
69 = note: mutable references are invariant over their type parameter
70 = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
71
72 error: lifetime may not live long enough
73 --> $DIR/variadic-ffi-4.rs:28:5
74 |
75 LL | pub unsafe extern "C" fn no_escape4(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) {
76 | ------- ------- has type `VaListImpl<'2>`
77 | |
78 | has type `&mut VaListImpl<'1>`
79 LL | ap0 = &mut ap1;
80 | ^^^^^^^^^^^^^^ assignment requires that `'2` must outlive `'1`
81 |
82 = note: requirement occurs because of a mutable reference to VaListImpl<'_>
83 = note: mutable references are invariant over their type parameter
84 = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
85
86 error[E0597]: `ap1` does not live long enough
87 --> $DIR/variadic-ffi-4.rs:28:11
88 |
89 LL | pub unsafe extern "C" fn no_escape4(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) {
90 | - let's call the lifetime of this reference `'3`
91 LL | ap0 = &mut ap1;
92 | ------^^^^^^^^
93 | | |
94 | | borrowed value does not live long enough
95 | assignment requires that `ap1` is borrowed for `'3`
96 ...
97 LL | }
98 | - `ap1` dropped here while still borrowed
99
100 error: lifetime may not live long enough
101 --> $DIR/variadic-ffi-4.rs:35:12
102 |
103 LL | pub unsafe extern "C" fn no_escape5(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) {
104 | ------- ------- has type `VaListImpl<'2>`
105 | |
106 | has type `&mut VaListImpl<'1>`
107 LL | *ap0 = ap1.clone();
108 | ^^^^^^^^^^^ argument requires that `'1` must outlive `'2`
109
110 error: lifetime may not live long enough
111 --> $DIR/variadic-ffi-4.rs:35:12
112 |
113 LL | pub unsafe extern "C" fn no_escape5(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) {
114 | ------- ------- has type `VaListImpl<'2>`
115 | |
116 | has type `&mut VaListImpl<'1>`
117 LL | *ap0 = ap1.clone();
118 | ^^^^^^^^^^^ argument requires that `'2` must outlive `'1`
119
120 error: aborting due to 11 previous errors
121
122 For more information about this error, try `rustc --explain E0597`.