mirror of
https://github.com/rust-lang/rust
synced 2024-11-05 20:45:15 +00:00
41e8d152dc
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
24 lines
990 B
Text
24 lines
990 B
Text
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 1 previous error
|
|
|
|
For more information about this error, try `rustc --explain E0038`.
|