#![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() {}