// for this issue, this code must be built in a library use std::mem; trait A { fn dummy(&self) { } } struct B; impl A for B {} fn bar(_: &mut A, _: &T) {} fn foo(t: &T) { let mut b = B; bar(&mut b as &mut A, t) }