#[lang = "sized"] pub trait Sized {} trait A<T> { type Output; fn test(self, a: &T) -> &Self::Output; } struct Foo<T> { // { dg-warning "struct is never constructed" "" { target *-*-* } .-1 } start: T, end: T, } impl<X> A<X> for Foo<usize> { type Output = X; fn test(self, a: &X) -> &Self::Output { a } }