// Issue #12470.

trait X {
    fn get_i(&self) -> isize;
}

struct B {
    i: isize
}

impl X for B {
    fn get_i(&self) -> isize {
        self.i
    }
}

impl Drop for B {
    fn drop(&mut self) {
        println!("drop");
    }
}

struct A<'r> {
    p: &'r (dyn X + 'r)
}

fn make_a(p: &dyn X) -> A {
    A{p:p}
}

fn make_make_a<'a>() -> A<'a> {

    let b: Box<B> = Box::new(B {
        i: 1,
    });

    let bb: &B = &*b;
    make_a(bb) //~ ERROR cannot return value referencing local data `*b`
}

fn main() {
    let a = make_make_a();
    println!("{}", a.p.get_i());
}
