#![allow(dead_code)] // Test that we report an error for unused type parameters in types and traits, // and that we offer a helpful suggestion. struct SomeStruct { x: u32 } //~^ ERROR parameter `A` is never used enum SomeEnum { Nothing } //~^ ERROR parameter `A` is never used // Here T might *appear* used, but in fact it isn't. enum ListCell { Cons(Box>), //~^ ERROR parameter `T` is only used recursively Nil } struct SelfTyAlias(Box); //~^ ERROR parameter `T` is only used recursively struct WithBounds {} //~^ ERROR parameter `T` is never used struct WithWhereBounds where T: Sized {} //~^ ERROR parameter `T` is never used struct WithOutlivesBounds {} //~^ ERROR parameter `T` is never used struct DoubleNothing { //~^ ERROR parameter `T` is never used s: SomeStruct, } fn main() {}