2 // Test invoked `&self` methods on owned objects where the values
3 // closed over do not contain managed values, and thus the boxes do
6 #![feature(box_syntax)]
10 fn foo(&self) -> usize;
17 impl FooTrait for BarStruct {
18 fn foo(&self) -> usize {
24 let foos: Vec<Box<dyn FooTrait>> = vec![
25 box BarStruct{ x: 0 } as Box<dyn FooTrait>,
26 box BarStruct{ x: 1 } as Box<dyn FooTrait>,
27 box BarStruct{ x: 2 } as Box<dyn FooTrait>
30 for i in 0..foos.len() {
31 assert_eq!(i, foos[i].foo());