error[E0038]: the trait `Trait` cannot be made into an object --> $DIR/E0038.rs:5:16 | LL | trait Trait { | ----- this trait cannot be made into an object... LL | fn foo(&self) -> Self; | ---- ...because method `foo` references the `Self` type in its return type ... LL | fn call_foo(x: Box) { | ^^^^^^^^^^^^^^ the trait `Trait` cannot be made into an object | = help: consider moving `foo` to another trait error: aborting due to previous error For more information about this error, try `rustc --explain E0038`.