//@ check-pass | |
#![allow(dead_code)] | |
// #11612 | |
// We weren't updating the auto adjustments with all the resolved | |
// type information after type check. | |
//@ pretty-expanded FIXME #23616 | |
trait A { fn dummy(&self) { } } | |
struct B<'a, T:'a> { | |
f: &'a T | |
} | |
impl<'a, T> A for B<'a, T> {} | |
fn foo(_: &dyn A) {} | |
fn bar<G>(b: &B<G>) { | |
foo(b); // Coercion should work | |
foo(b as &dyn A); // Explicit cast should work as well | |
} | |
fn main() {} |