25 lines
988 B
Plaintext
25 lines
988 B
Plaintext
|
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`.
|