error[E0597]: `*b` does not live long enough --> $DIR/regions-trait-variance.rs:37:19 | LL | let bb: &B = &*b; | ^^ borrowed value does not live long enough LL | make_a(bb) LL | } | - borrowed value only lives until here | note: borrowed value must be valid for the lifetime 'a as defined on the function body at 33:16... --> $DIR/regions-trait-variance.rs:33:16 | LL | fn make_make_a<'a>() -> A<'a> { | ^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0597`.