]>
Commit | Line | Data |
---|---|---|
74b04a01 XL |
1 | // run-rustfix |
2 | ||
1b1a35ee XL |
3 | #[allow(unused)] |
4 | use std::fmt::Debug; | |
5 | // Rustfix should add this, or use `std::fmt::Debug` instead. | |
6 | ||
74b04a01 | 7 | #[allow(dead_code)] |
cdc7bbd5 | 8 | fn test_impl(t: impl Sized + std::fmt::Debug) { |
74b04a01 XL |
9 | println!("{:?}", t); |
10 | //~^ ERROR doesn't implement | |
11 | } | |
12 | ||
13 | #[allow(dead_code)] | |
cdc7bbd5 | 14 | fn test_no_bounds<T: std::fmt::Debug>(t: T) { |
74b04a01 XL |
15 | println!("{:?}", t); |
16 | //~^ ERROR doesn't implement | |
17 | } | |
18 | ||
19 | #[allow(dead_code)] | |
cdc7bbd5 | 20 | fn test_one_bound<T: Sized + std::fmt::Debug>(t: T) { |
74b04a01 XL |
21 | println!("{:?}", t); |
22 | //~^ ERROR doesn't implement | |
23 | } | |
24 | ||
25 | #[allow(dead_code)] | |
cdc7bbd5 | 26 | fn test_no_bounds_where<X, Y>(x: X, y: Y) where X: std::fmt::Debug, Y: std::fmt::Debug { |
74b04a01 XL |
27 | println!("{:?} {:?}", x, y); |
28 | //~^ ERROR doesn't implement | |
29 | } | |
30 | ||
31 | #[allow(dead_code)] | |
cdc7bbd5 | 32 | fn test_one_bound_where<X>(x: X) where X: Sized + std::fmt::Debug { |
74b04a01 XL |
33 | println!("{:?}", x); |
34 | //~^ ERROR doesn't implement | |
35 | } | |
36 | ||
37 | #[allow(dead_code)] | |
04454e1e | 38 | fn test_many_bounds_where<X>(x: X) where X: Sized + std::fmt::Debug, X: Sized { |
74b04a01 XL |
39 | println!("{:?}", x); |
40 | //~^ ERROR doesn't implement | |
41 | } | |
42 | ||
5869c6ff XL |
43 | trait Foo<T>: Sized { |
44 | const SIZE: usize = core::mem::size_of::<Self>(); | |
45 | //~^ ERROR the size for values of type `Self` cannot be known at compilation time | |
46 | } | |
47 | ||
48 | trait Bar: std::fmt::Display + Sized { | |
49 | const SIZE: usize = core::mem::size_of::<Self>(); | |
50 | //~^ ERROR the size for values of type `Self` cannot be known at compilation time | |
51 | } | |
52 | ||
53 | trait Baz: Sized where Self: std::fmt::Display { | |
54 | const SIZE: usize = core::mem::size_of::<Self>(); | |
55 | //~^ ERROR the size for values of type `Self` cannot be known at compilation time | |
56 | } | |
57 | ||
58 | trait Qux<T>: Sized where Self: std::fmt::Display { | |
59 | const SIZE: usize = core::mem::size_of::<Self>(); | |
60 | //~^ ERROR the size for values of type `Self` cannot be known at compilation time | |
61 | } | |
62 | ||
63 | trait Bat<T>: std::fmt::Display + Sized { | |
64 | const SIZE: usize = core::mem::size_of::<Self>(); | |
65 | //~^ ERROR the size for values of type `Self` cannot be known at compilation time | |
66 | } | |
67 | ||
68 | fn main() { } |