rust/src/test/ui/traits/trait-object-safety.stderr
2020-02-02 11:53:10 -08:00

32 lines
1.3 KiB
Plaintext

error[E0038]: the trait `Tr` cannot be made into an object
--> $DIR/trait-object-safety.rs:15:22
|
LL | trait Tr {
| -- this trait cannot be made into an object...
LL | fn foo();
| --- ...because associated function `foo` has no `self` parameter
...
LL | let _: &dyn Tr = &St;
| ^^^ the trait `Tr` cannot be made into an object
|
= help: consider turning `foo` into a method by giving it a `&self` argument or constraining it with `where Self: Sized`
= note: required because of the requirements on the impl of `std::ops::CoerceUnsized<&dyn Tr>` for `&St`
= note: required by cast to type `&dyn Tr`
error[E0038]: the trait `Tr` cannot be made into an object
--> $DIR/trait-object-safety.rs:15:12
|
LL | trait Tr {
| -- this trait cannot be made into an object...
LL | fn foo();
| --- ...because associated function `foo` has no `self` parameter
...
LL | let _: &dyn Tr = &St;
| ^^^^^^^ the trait `Tr` cannot be made into an object
|
= help: consider turning `foo` into a method by giving it a `&self` argument or constraining it with `where Self: Sized`
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0038`.