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