1 error[E0404]: expected trait, found struct `Struct`
2 --> $DIR/suggest-swapping-self-ty-and-trait-edition-2021.rs:12:13
4 LL | impl<'a, T> Struct<T> for Trait<'a, T> {}
5 | ^^^^^^^^^ not a trait
7 help: `impl` items mention the trait being implemented first and the type it is being implemented for second
9 LL | impl<'a, T> Trait<'a, T> for Struct<T> {}
10 | ~~~~~~~~~~~~ ~~~~~~~~~
12 error[E0404]: expected trait, found enum `Enum`
13 --> $DIR/suggest-swapping-self-ty-and-trait-edition-2021.rs:16:13
15 LL | impl<'a, T> Enum<T> for Trait<'a, T> {}
18 help: `impl` items mention the trait being implemented first and the type it is being implemented for second
20 LL | impl<'a, T> Trait<'a, T> for Enum<T> {}
21 | ~~~~~~~~~~~~ ~~~~~~~
23 error[E0404]: expected trait, found union `Union`
24 --> $DIR/suggest-swapping-self-ty-and-trait-edition-2021.rs:19:13
26 LL | impl<'a, T> Union<T> for Trait<'a, T> {}
27 | ^^^^^^^^ not a trait
29 help: `impl` items mention the trait being implemented first and the type it is being implemented for second
31 LL | impl<'a, T> Trait<'a, T> for Union<T> {}
32 | ~~~~~~~~~~~~ ~~~~~~~~
34 error[E0782]: trait objects must include the `dyn` keyword
35 --> $DIR/suggest-swapping-self-ty-and-trait-edition-2021.rs:12:27
37 LL | impl<'a, T> Struct<T> for Trait<'a, T> {}
40 help: add `dyn` keyword before this trait
42 LL | impl<'a, T> Struct<T> for dyn Trait<'a, T> {}
45 error: aborting due to 4 previous errors
47 Some errors have detailed explanations: E0404, E0782.
48 For more information about an error, try `rustc --explain E0404`.