| error[E0782]: expected a type, found a trait |
| --> $DIR/dyn-2021-edition-error.rs:3:17 |
| | |
| LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) { |
| | ^^^^^^^^^ |
| | |
| help: use a new generic type parameter, constrained by `SomeTrait` |
| | |
| LL - fn function(x: &SomeTrait, y: Box<SomeTrait>) { |
| LL + fn function<T: SomeTrait>(x: &T, y: Box<SomeTrait>) { |
| | |
| help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference |
| | |
| LL | fn function(x: &impl SomeTrait, y: Box<SomeTrait>) { |
| | ++++ |
| help: alternatively, use a trait object to accept any type that implements `SomeTrait`, accessing its methods at runtime using dynamic dispatch |
| | |
| LL | fn function(x: &dyn SomeTrait, y: Box<SomeTrait>) { |
| | +++ |
| |
| error[E0782]: expected a type, found a trait |
| --> $DIR/dyn-2021-edition-error.rs:3:35 |
| | |
| LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) { |
| | ^^^^^^^^^ |
| | |
| help: you can add the `dyn` keyword if you want a trait object |
| | |
| LL | fn function(x: &SomeTrait, y: Box<dyn SomeTrait>) { |
| | +++ |
| |
| error[E0782]: expected a type, found a trait |
| --> $DIR/dyn-2021-edition-error.rs:12:24 |
| | |
| LL | fn foo() -> *const SomeTrait; |
| | ^^^^^^^^^ |
| | |
| help: you can add the `dyn` keyword if you want a trait object |
| | |
| LL | fn foo() -> *const dyn SomeTrait; |
| | +++ |
| |
| error[E0782]: expected a type, found a trait |
| --> $DIR/dyn-2021-edition-error.rs:6:14 |
| | |
| LL | let _x: &SomeTrait = todo!(); |
| | ^^^^^^^^^ |
| | |
| help: you can add the `dyn` keyword if you want a trait object |
| | |
| LL | let _x: &dyn SomeTrait = todo!(); |
| | +++ |
| |
| error: aborting due to 4 previous errors |
| |
| For more information about this error, try `rustc --explain E0782`. |