2019-01-08 22:14:04 +01:00
|
|
|
error[E0038]: the trait `Bar` cannot be made into an object
|
|
|
|
--> $DIR/object-safety-mentions-Self.rs:24:5
|
|
|
|
|
|
2020-01-31 16:47:00 -08:00
|
|
|
LL | trait Bar {
|
|
|
|
| --- this trait cannot be made into an object...
|
2019-01-08 22:14:04 +01:00
|
|
|
LL | fn bar(&self, x: &Self);
|
2020-01-31 18:48:35 -08:00
|
|
|
| ----- ...because method `bar` references the `Self` type in this parameter
|
2019-01-08 22:14:04 +01:00
|
|
|
...
|
|
|
|
LL | t
|
|
|
|
| ^ the trait `Bar` cannot be made into an object
|
|
|
|
|
|
2020-01-31 16:47:00 -08:00
|
|
|
= help: consider moving `bar` to another trait
|
2020-09-02 10:40:56 +03:00
|
|
|
= note: required because of the requirements on the impl of `CoerceUnsized<&dyn Bar>` for `&T`
|
2019-01-08 22:14:04 +01:00
|
|
|
= note: required by cast to type `&dyn Bar`
|
|
|
|
|
|
|
|
error[E0038]: the trait `Baz` cannot be made into an object
|
|
|
|
--> $DIR/object-safety-mentions-Self.rs:30:5
|
|
|
|
|
|
2020-01-31 16:47:00 -08:00
|
|
|
LL | trait Baz {
|
|
|
|
| --- this trait cannot be made into an object...
|
2019-01-08 22:14:04 +01:00
|
|
|
LL | fn baz(&self) -> Self;
|
2020-01-31 18:48:35 -08:00
|
|
|
| ---- ...because method `baz` references the `Self` type in its return type
|
2019-01-08 22:14:04 +01:00
|
|
|
...
|
|
|
|
LL | t
|
|
|
|
| ^ the trait `Baz` cannot be made into an object
|
|
|
|
|
|
2020-01-31 16:47:00 -08:00
|
|
|
= help: consider moving `baz` to another trait
|
2020-09-02 10:40:56 +03:00
|
|
|
= note: required because of the requirements on the impl of `CoerceUnsized<&dyn Baz>` for `&T`
|
2019-01-08 22:14:04 +01:00
|
|
|
= note: required by cast to type `&dyn Baz`
|
|
|
|
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0038`.
|