error[E0621]: explicit lifetime required in the type of `ap`
  --> $DIR/variadic-ffi-4.rs:8:5
   |
LL | pub unsafe extern "C" fn no_escape0<'f>(_: usize, ap: ...) -> VaListImpl<'f> {
   |                                                       --- help: add explicit lifetime `'f` to the type of `ap`: `core::ffi::VaListImpl<'f>`
LL |     ap
   |     ^^ lifetime `'f` required

error[E0621]: explicit lifetime required in the type of `ap`
  --> $DIR/variadic-ffi-4.rs:12:5
   |
LL | pub unsafe extern "C" fn no_escape1(_: usize, ap: ...) -> VaListImpl<'static> {
   |                                                   --- help: add explicit lifetime `'static` to the type of `ap`: `core::ffi::VaListImpl<'static>`
LL |     ap
   |     ^^ lifetime `'static` required

error: lifetime may not live long enough
  --> $DIR/variadic-ffi-4.rs:16:33
   |
LL |     let _ = ap.with_copy(|ap| { ap });
   |                           ---   ^^ returning this value requires that `'1` must outlive `'2`
   |                           | |
   |                           | return type of closure is core::ffi::VaList<'2, '_>
   |                           has type `core::ffi::VaList<'1, '_>`

error: lifetime may not live long enough
  --> $DIR/variadic-ffi-4.rs:20:5
   |
LL | pub unsafe extern "C" fn no_escape3(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) {
   |                                               -------                   ------- has type `core::ffi::VaListImpl<'2>`
   |                                               |
   |                                               has type `&mut core::ffi::VaListImpl<'1>`
LL |     *ap0 = ap1;
   |     ^^^^ assignment requires that `'1` must outlive `'2`

error: lifetime may not live long enough
  --> $DIR/variadic-ffi-4.rs:20:5
   |
LL | pub unsafe extern "C" fn no_escape3(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) {
   |                                               -------                   ------- has type `core::ffi::VaListImpl<'2>`
   |                                               |
   |                                               has type `&mut core::ffi::VaListImpl<'1>`
LL |     *ap0 = ap1;
   |     ^^^^ assignment requires that `'2` must outlive `'1`

error: lifetime may not live long enough
  --> $DIR/variadic-ffi-4.rs:25:5
   |
LL | pub unsafe extern "C" fn no_escape4(_: usize, ap0: &mut VaListImpl, mut ap1: ...) {
   |                                               ---                   ------- has type `core::ffi::VaListImpl<'2>`
   |                                               |
   |                                               has type `&mut core::ffi::VaListImpl<'1>`
LL |     ap0 = &mut ap1;
   |     ^^^^^^^^^^^^^^ assignment requires that `'1` must outlive `'2`

error: lifetime may not live long enough
  --> $DIR/variadic-ffi-4.rs:25:5
   |
LL | pub unsafe extern "C" fn no_escape4(_: usize, ap0: &mut VaListImpl, mut ap1: ...) {
   |                                               ---                   ------- has type `core::ffi::VaListImpl<'2>`
   |                                               |
   |                                               has type `&mut core::ffi::VaListImpl<'1>`
LL |     ap0 = &mut ap1;
   |     ^^^^^^^^^^^^^^ assignment requires that `'2` must outlive `'1`

error[E0384]: cannot assign to immutable argument `ap0`
  --> $DIR/variadic-ffi-4.rs:25:5
   |
LL | pub unsafe extern "C" fn no_escape4(_: usize, ap0: &mut VaListImpl, mut ap1: ...) {
   |                                               --- help: make this binding mutable: `mut ap0`
LL |     ap0 = &mut ap1;
   |     ^^^^^^^^^^^^^^ cannot assign to immutable argument

error[E0597]: `ap1` does not live long enough
  --> $DIR/variadic-ffi-4.rs:25:11
   |
LL | pub unsafe extern "C" fn no_escape4(_: usize, ap0: &mut VaListImpl, mut ap1: ...) {
   |                                                    - let's call the lifetime of this reference `'1`
LL |     ap0 = &mut ap1;
   |     ------^^^^^^^^
   |     |     |
   |     |     borrowed value does not live long enough
   |     assignment requires that `ap1` is borrowed for `'1`
...
LL | }
   | - `ap1` dropped here while still borrowed

error: lifetime may not live long enough
  --> $DIR/variadic-ffi-4.rs:33:12
   |
LL | pub unsafe extern "C" fn no_escape5(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) {
   |                                               -------                   ------- has type `core::ffi::VaListImpl<'2>`
   |                                               |
   |                                               has type `&mut core::ffi::VaListImpl<'1>`
LL |     *ap0 = ap1.clone();
   |            ^^^^^^^^^^^ argument requires that `'1` must outlive `'2`

error: lifetime may not live long enough
  --> $DIR/variadic-ffi-4.rs:33:12
   |
LL | pub unsafe extern "C" fn no_escape5(_: usize, mut ap0: &mut VaListImpl, mut ap1: ...) {
   |                                               -------                   ------- has type `core::ffi::VaListImpl<'2>`
   |                                               |
   |                                               has type `&mut core::ffi::VaListImpl<'1>`
LL |     *ap0 = ap1.clone();
   |            ^^^^^^^^^^^ argument requires that `'2` must outlive `'1`

error: aborting due to 11 previous errors

Some errors have detailed explanations: E0384, E0597, E0621.
For more information about an error, try `rustc --explain E0384`.
