Storing elements in a Vec where each element implements multiple dyn Traits

TL;DR

trait All: Foo + Bar {}

impl<T: Foo + Bar> All for T {}

fn main() {
    let v: Vec<&dyn All> = vec![&Struct1 {}, &Struct2 {}];
}

Playground

1 Like