1 error[E0404]: expected trait, found struct `Struct`
2 --> $DIR/suggest-swapping-self-ty-and-trait.rs:10: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.rs:15: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.rs:18: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 warning: trait objects without an explicit `dyn` are deprecated
35 --> $DIR/suggest-swapping-self-ty-and-trait.rs:10:27
37 LL | impl<'a, T> Struct<T> for Trait<'a, T> {}
40 = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
41 = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
42 = note: `#[warn(bare_trait_objects)]` on by default
45 LL | impl<'a, T> Struct<T> for dyn Trait<'a, T> {}
48 error: aborting due to 3 previous errors; 1 warning emitted
50 For more information about this error, try `rustc --explain E0404`.