error[E0038]: the trait `B` cannot be made into an object
--> $DIR/issue-98500.rs:11:14
|
LL | struct S(Box<dyn B>);
| ^^^^^ `B` cannot be made into an object
|
note: 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>
--> $DIR/auxiliary/not-object-safe.rs:4:8
|
LL | fn f();
| ^ ...because associated function `f` has no `self` parameter
LL | fn f2(self: &Arc<Self>);
| ^^ ...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 previous error
For more information about this error, try `rustc --explain E0038`.