// run-pass // pretty-expanded FIXME #23616 #![allow(non_shorthand_field_patterns)] struct T { a: Box } trait U { fn f(self); } impl U for Box { fn f(self) { } } pub fn main() { let T { a: a } = T { a: Box::new(0) }; a.f(); }