// run-pass
// Test invoked `&self` methods on owned objects where the values
// closed over contain managed values. This implies that the boxes
// will have headers that must be skipped over.

#![feature(box_syntax)]

trait FooTrait {
    fn foo(self: Box<Self>) -> usize;
}

struct BarStruct {
    x: usize
}

impl FooTrait for BarStruct {
    fn foo(self: Box<BarStruct>) -> usize {
        self.x
    }
}

pub fn main() {
    let foo = box BarStruct{ x: 22 } as Box<dyn FooTrait>;
    assert_eq!(22, foo.foo());
}
