1error[E0107]: missing generics for associated type `CollectionFamily::Member` 2 --> $DIR/issue-78671.rs:7:47 3 | 4LL | Box::new(Family) as &dyn CollectionFamily<Member=usize> 5 | ^^^^^^ expected 1 generic argument 6 | 7note: associated type defined here, with 1 generic parameter: `T` 8 --> $DIR/issue-78671.rs:4:10 9 | 10LL | type Member<T>; 11 | ^^^^^^ - 12help: add missing generic argument 13 | 14LL | Box::new(Family) as &dyn CollectionFamily<Member<T>=usize> 15 | ~~~~~~~~~ 16 17error[E0038]: the trait `CollectionFamily` cannot be made into an object 18 --> $DIR/issue-78671.rs:7:25 19 | 20LL | Box::new(Family) as &dyn CollectionFamily<Member=usize> 21 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `CollectionFamily` cannot be made into an object 22 | 23note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety> 24 --> $DIR/issue-78671.rs:4:10 25 | 26LL | trait CollectionFamily { 27 | ---------------- this trait cannot be made into an object... 28LL | type Member<T>; 29 | ^^^^^^ ...because it contains the generic associated type `Member` 30 = help: consider moving `Member` to another trait 31 32error: aborting due to 2 previous errors 33 34Some errors have detailed explanations: E0038, E0107. 35For more information about an error, try `rustc --explain E0038`. 36