//@ check-fail

trait Trait<'a> {}

fn change_lt<'a, 'b>(x: *mut dyn Trait<'a>) -> *mut dyn Trait<'b> {
    x as _ //~ error: lifetime may not live long enough
           //~| error: lifetime may not live long enough
}

fn change_lt_ab<'a: 'b, 'b>(x: *mut dyn Trait<'a>) -> *mut dyn Trait<'b> {
    x as _ //~ error: lifetime may not live long enough
}

fn change_lt_ba<'a, 'b: 'a>(x: *mut dyn Trait<'a>) -> *mut dyn Trait<'b> {
    x as _ //~ error: lifetime may not live long enough
}

fn change_lt_hr<'a>(x: *mut dyn Trait<'a>) -> *mut dyn for<'b> Trait<'b> {
    x as _ //~ error: lifetime may not live long enough
    //~^ error: mismatched types
    //~| one type is more general than the other
}

trait Assocked {
    type Assoc: ?Sized;
}

fn change_assoc_0<'a, 'b>(
    x: *mut dyn Assocked<Assoc = dyn Send + 'a>,
) -> *mut dyn Assocked<Assoc = dyn Send + 'b> {
    x as _ //~ error: lifetime may not live long enough
           //~| error: lifetime may not live long enough
}

fn change_assoc_1<'a, 'b>(
    x: *mut dyn Assocked<Assoc = dyn Trait<'a>>,
) -> *mut dyn Assocked<Assoc = dyn Trait<'b>> {
    x as _ //~ error: lifetime may not live long enough
           //~| error: lifetime may not live long enough
}

// This tests the default borrow check error, without the special casing for return values.
fn require_static(_: *const dyn Trait<'static>) {}
fn extend_to_static<'a>(ptr: *const dyn Trait<'a>) {
    require_static(ptr as _) //~ error: lifetime may not live long enough
}

fn main() {}
