2 // Test invoked `&self` methods on owned objects where the values
3 // closed over do not contain managed values, and thus the boxes do
7 fn foo(&self) -> usize;
14 impl FooTrait for BarStruct {
15 fn foo(&self) -> usize {
21 let foos: Vec<Box<dyn FooTrait>> = vec![
22 Box::new(BarStruct{ x: 0 }) as Box<dyn FooTrait>,
23 Box::new(BarStruct{ x: 1 }) as Box<dyn FooTrait>,
24 Box::new(BarStruct{ x: 2 }) as Box<dyn FooTrait>,
27 for i in 0..foos.len() {
28 assert_eq!(i, foos[i].foo());