#![feature(rustc_attrs)] // Test for . trait Supertrait { fn _print_numbers(&self, mem: &[usize; 100]) { println!("{mem:?}"); } } impl Supertrait for () {} trait Identity { type Selff; } impl Identity for Selff { type Selff = Selff; } trait Middle: Supertrait<()> + Supertrait { fn say_hello(&self, _: &usize) { println!("Hello!"); } } impl Middle for () {} trait Trait: Middle<<() as Identity>::Selff> {} #[rustc_dump_vtable] impl Trait for () {} //~^ ERROR vtable entries #[rustc_dump_vtable] type Virtual = dyn Middle<()>; //~^ ERROR vtable entries fn main() {}