| error[E0308]: mismatched types |
| --> $DIR/variadic-ffi-4.rs:8:5 |
| | |
| LL | ap |
| | ^^ lifetime mismatch |
| | |
| = note: expected struct `core::ffi::VaListImpl<'f>` |
| found struct `core::ffi::VaListImpl<'_>` |
| note: the scope of call-site for function at 7:78... |
| --> $DIR/variadic-ffi-4.rs:7:78 |
| | |
| LL | pub unsafe extern "C" fn no_escape0<'f>(_: usize, ap: ...) -> VaListImpl<'f> { |
| | ______________________________________________________________________________^ |
| LL | | ap |
| LL | | } |
| | |_^ |
| note: ...does not necessarily outlive the lifetime `'f` as defined on the function body at 7:37 |
| --> $DIR/variadic-ffi-4.rs:7:37 |
| | |
| LL | pub unsafe extern "C" fn no_escape0<'f>(_: usize, ap: ...) -> VaListImpl<'f> { |
| | ^^ |
| |
| error[E0308]: mismatched types |
| --> $DIR/variadic-ffi-4.rs:12:5 |
| | |
| LL | ap |
| | ^^ lifetime mismatch |
| | |
| = note: expected struct `core::ffi::VaListImpl<'static>` |
| found struct `core::ffi::VaListImpl<'_>` |
| note: the scope of call-site for function at 11:79... |
| --> $DIR/variadic-ffi-4.rs:11:79 |
| | |
| LL | pub unsafe extern "C" fn no_escape1(_: usize, ap: ...) -> VaListImpl<'static> { |
| | _______________________________________________________________________________^ |
| LL | | ap |
| LL | | } |
| | |_^ |
| = note: ...does not necessarily outlive the static lifetime |
| |
| error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements |
| --> $DIR/variadic-ffi-4.rs:16:33 |
| | |
| LL | let _ = ap.with_copy(|ap| { ap }); |
| | ^^ |
| | |
| note: first, the lifetime cannot outlive the anonymous lifetime #2 defined on the body at 16:26... |
| --> $DIR/variadic-ffi-4.rs:16:26 |
| | |
| LL | let _ = ap.with_copy(|ap| { ap }); |
| | ^^^^^^^^^^^ |
| = note: ...so that the expression is assignable: |
| expected core::ffi::VaList<'_, '_> |
| found core::ffi::VaList<'_, '_> |
| note: but, the lifetime must be valid for the method call at 16:13... |
| --> $DIR/variadic-ffi-4.rs:16:13 |
| | |
| LL | let _ = ap.with_copy(|ap| { ap }); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...so type `core::ffi::VaList<'_, '_>` of expression is valid during the expression |
| --> $DIR/variadic-ffi-4.rs:16:13 |
| | |
| LL | let _ = ap.with_copy(|ap| { ap }); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error[E0308]: mismatched types |
| --> $DIR/variadic-ffi-4.rs:20:12 |
| | |
| LL | *ap0 = ap1; |
| | ^^^ lifetime mismatch |
| | |
| = note: expected struct `core::ffi::VaListImpl<'_>` |
| found struct `core::ffi::VaListImpl<'_>` |
| note: the scope of call-site for function at 19:87... |
| --> $DIR/variadic-ffi-4.rs:19:87 |
| | |
| LL | pub unsafe extern "C" fn no_escape3(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) { |
| | _______________________________________________________________________________________^ |
| LL | | *ap0 = ap1; |
| LL | | } |
| | |_^ |
| note: ...does not necessarily outlive the anonymous lifetime #2 defined on the function body at 19:1 |
| --> $DIR/variadic-ffi-4.rs:19:1 |
| | |
| LL | / pub unsafe extern "C" fn no_escape3(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) { |
| LL | | *ap0 = ap1; |
| LL | | } |
| | |_^ |
| |
| error[E0490]: a value of type `core::ffi::VaListImpl<'_>` is borrowed for too long |
| --> $DIR/variadic-ffi-4.rs:24:11 |
| | |
| LL | ap0 = &mut ap1; |
| | ^^^^^^^^ |
| | |
| note: the type is valid for the anonymous lifetime #1 defined on the function body at 23:1 |
| --> $DIR/variadic-ffi-4.rs:23:1 |
| | |
| LL | / pub unsafe extern "C" fn no_escape4(_: usize, ap0: &mut VaListImpl, mut ap1: ...) { |
| LL | | ap0 = &mut ap1; |
| LL | | |
| LL | | |
| LL | | |
| LL | | } |
| | |_^ |
| note: but the borrow lasts for the scope of call-site for function at 23:83 |
| --> $DIR/variadic-ffi-4.rs:23:83 |
| | |
| LL | pub unsafe extern "C" fn no_escape4(_: usize, ap0: &mut VaListImpl, mut ap1: ...) { |
| | ___________________________________________________________________________________^ |
| LL | | ap0 = &mut ap1; |
| LL | | |
| LL | | |
| LL | | |
| LL | | } |
| | |_^ |
| |
| error[E0308]: mismatched types |
| --> $DIR/variadic-ffi-4.rs:24:11 |
| | |
| LL | ap0 = &mut ap1; |
| | ^^^^^^^^ lifetime mismatch |
| | |
| = note: expected mutable reference `&mut core::ffi::VaListImpl<'_>` |
| found mutable reference `&mut core::ffi::VaListImpl<'_>` |
| note: the scope of call-site for function at 23:83... |
| --> $DIR/variadic-ffi-4.rs:23:83 |
| | |
| LL | pub unsafe extern "C" fn no_escape4(_: usize, ap0: &mut VaListImpl, mut ap1: ...) { |
| | ___________________________________________________________________________________^ |
| LL | | ap0 = &mut ap1; |
| LL | | |
| LL | | |
| LL | | |
| LL | | } |
| | |_^ |
| note: ...does not necessarily outlive the anonymous lifetime #2 defined on the function body at 23:1 |
| --> $DIR/variadic-ffi-4.rs:23:1 |
| | |
| LL | / pub unsafe extern "C" fn no_escape4(_: usize, ap0: &mut VaListImpl, mut ap1: ...) { |
| LL | | ap0 = &mut ap1; |
| LL | | |
| LL | | |
| LL | | |
| LL | | } |
| | |_^ |
| |
| error[E0495]: cannot infer an appropriate lifetime for borrow expression due to conflicting requirements |
| --> $DIR/variadic-ffi-4.rs:24:11 |
| | |
| LL | ap0 = &mut ap1; |
| | ^^^^^^^^ |
| | |
| note: first, the lifetime cannot outlive the scope of call-site for function at 23:83... |
| --> $DIR/variadic-ffi-4.rs:23:83 |
| | |
| LL | pub unsafe extern "C" fn no_escape4(_: usize, ap0: &mut VaListImpl, mut ap1: ...) { |
| | ___________________________________________________________________________________^ |
| LL | | ap0 = &mut ap1; |
| LL | | |
| LL | | |
| LL | | |
| LL | | } |
| | |_^ |
| note: ...so that the type `core::ffi::VaListImpl<'_>` is not borrowed for too long |
| --> $DIR/variadic-ffi-4.rs:24:11 |
| | |
| LL | ap0 = &mut ap1; |
| | ^^^^^^^^ |
| note: but, the lifetime must be valid for the anonymous lifetime #1 defined on the function body at 23:1... |
| --> $DIR/variadic-ffi-4.rs:23:1 |
| | |
| LL | / pub unsafe extern "C" fn no_escape4(_: usize, ap0: &mut VaListImpl, mut ap1: ...) { |
| LL | | ap0 = &mut ap1; |
| LL | | |
| LL | | |
| LL | | |
| LL | | } |
| | |_^ |
| note: ...so that reference does not outlive borrowed content |
| --> $DIR/variadic-ffi-4.rs:24:11 |
| | |
| LL | ap0 = &mut ap1; |
| | ^^^^^^^^ |
| |
| error[E0308]: mismatched types |
| --> $DIR/variadic-ffi-4.rs:31:12 |
| | |
| LL | *ap0 = ap1.clone(); |
| | ^^^^^^^^^^^ lifetime mismatch |
| | |
| = note: expected struct `core::ffi::VaListImpl<'_>` |
| found struct `core::ffi::VaListImpl<'_>` |
| note: the scope of call-site for function at 30:87... |
| --> $DIR/variadic-ffi-4.rs:30:87 |
| | |
| LL | pub unsafe extern "C" fn no_escape5(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) { |
| | _______________________________________________________________________________________^ |
| LL | | *ap0 = ap1.clone(); |
| LL | | } |
| | |_^ |
| note: ...does not necessarily outlive the anonymous lifetime #2 defined on the function body at 30:1 |
| --> $DIR/variadic-ffi-4.rs:30:1 |
| | |
| LL | / pub unsafe extern "C" fn no_escape5(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) { |
| LL | | *ap0 = ap1.clone(); |
| LL | | } |
| | |_^ |
| |
| error: aborting due to 8 previous errors |
| |
| Some errors have detailed explanations: E0308, E0495. |
| For more information about an error, try `rustc --explain E0308`. |