1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
#[repr(align(256))] #[allow(dead_code)] struct A { v: u8, } trait Foo { fn foo(&self); } impl Foo for A { fn foo(&self) { assert_eq!(self as *const A as usize % 256, 0); } } fn foo(x: dyn Foo) { //~^ ERROR [E0277] x.foo() } fn main() { let x: Box<dyn Foo> = Box::new(A { v: 22 }); foo(*x); //~^ ERROR [E0277] }