error[E0038]: the trait `B` cannot be made into an object --> $DIR/issue-98500.rs:11:14 | LL | struct S(Box); | ^^^^^ `B` cannot be made into an object | note: for a trait to be "dyn-compatible" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit --> $DIR/auxiliary/dyn-incompatible.rs:4:8 | LL | fn f(); | ^ ...because associated function `f` has no `self` parameter LL | fn f2(self: &Arc); | ^^ ...because method `f2`'s `self` parameter cannot be dispatched on | ::: $DIR/issue-98500.rs:5:11 | LL | pub trait B where | - this trait cannot be made into an object... = help: consider moving `f` to another trait = help: consider moving `f2` to another trait error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0038`.