| //@ run-rustfix | |
| #[allow(unused)] | |
| use std::fmt::Debug; | |
| // Rustfix should add this, or use `std::fmt::Debug` instead. | |
| #[allow(dead_code)] | |
| fn test_impl(t: impl Sized + std::fmt::Debug) { | |
| println!("{:?}", t); | |
| //~^ ERROR doesn't implement | |
| } | |
| #[allow(dead_code)] | |
| fn test_no_bounds<T: std::fmt::Debug>(t: T) { | |
| println!("{:?}", t); | |
| //~^ ERROR doesn't implement | |
| } | |
| #[allow(dead_code)] | |
| fn test_one_bound<T: Sized + std::fmt::Debug>(t: T) { | |
| println!("{:?}", t); | |
| //~^ ERROR doesn't implement | |
| } | |
| #[allow(dead_code)] | |
| fn test_no_bounds_where<X, Y>(x: X, y: Y) where X: std::fmt::Debug, Y: std::fmt::Debug { | |
| println!("{:?} {:?}", x, y); | |
| //~^ ERROR doesn't implement | |
| } | |
| #[allow(dead_code)] | |
| fn test_one_bound_where<X>(x: X) where X: Sized + std::fmt::Debug { | |
| println!("{:?}", x); | |
| //~^ ERROR doesn't implement | |
| } | |
| #[allow(dead_code)] | |
| fn test_many_bounds_where<X>(x: X) where X: Sized + std::fmt::Debug, X: Sized { | |
| println!("{:?}", x); | |
| //~^ ERROR doesn't implement | |
| } | |
| #[allow(dead_code)] | |
| trait Foo<T>: Sized { | |
| const SIZE: usize = core::mem::size_of::<Self>(); | |
| //~^ ERROR the size for values of type `Self` cannot be known at compilation time | |
| } | |
| #[allow(dead_code)] | |
| trait Bar: std::fmt::Display + Sized { | |
| const SIZE: usize = core::mem::size_of::<Self>(); | |
| //~^ ERROR the size for values of type `Self` cannot be known at compilation time | |
| } | |
| #[allow(dead_code)] | |
| trait Baz: Sized where Self: std::fmt::Display { | |
| const SIZE: usize = core::mem::size_of::<Self>(); | |
| //~^ ERROR the size for values of type `Self` cannot be known at compilation time | |
| } | |
| #[allow(dead_code)] | |
| trait Qux<T>: Sized where Self: std::fmt::Display { | |
| const SIZE: usize = core::mem::size_of::<Self>(); | |
| //~^ ERROR the size for values of type `Self` cannot be known at compilation time | |
| } | |
| #[allow(dead_code)] | |
| trait Bat<T>: std::fmt::Display + Sized { | |
| const SIZE: usize = core::mem::size_of::<Self>(); | |
| //~^ ERROR the size for values of type `Self` cannot be known at compilation time | |
| } | |
| fn main() { } |