Why does the vector declaration fail, and what is the standard fix?trait Shape { fn area(&self) -> f64; } struct Circle; struct Square; // ... impls for both ... let shapes = vec![Circle, Square];