//@ edition:2021 pub trait Trait<'a, T> {} pub struct Struct; pub enum Enum {} pub union Union { f1: usize, } impl<'a, T> Struct for Trait<'a, T> {} //~^ ERROR expected trait, found struct `Struct` //~| ERROR trait objects must include the `dyn` keyword impl<'a, T> Enum for Trait<'a, T> {} //~^ ERROR expected trait, found enum `Enum` impl<'a, T> Union for Trait<'a, T> {} //~^ ERROR expected trait, found union `Union` fn main() {}