3 // Due to aggressive error message deduplication, we require 20 *different*
4 // unsized types (even Path and [u8] are considered the "same").
16 struct Path1(dyn PathHelper1);
17 struct Path2(dyn PathHelper2);
18 struct Path3(dyn PathHelper3);
19 struct Path4(dyn PathHelper4);
21 enum E<W: ?Sized, X: ?Sized, Y: ?Sized, Z: ?Sized> {
24 //~^ ERROR the size for values of type
26 //~^ ERROR the size for values of type
28 //~^ ERROR the size for values of type
30 //~^ ERROR the size for values of type
34 //~^ ERROR the size for values of type
36 //~^ ERROR the size for values of type
38 //~^ ERROR the size for values of type
39 VH{u: isize, x: [u32]},
40 //~^ ERROR the size for values of type
44 //~^ ERROR the size for values of type
46 //~^ ERROR the size for values of type
48 //~^ ERROR the size for values of type
49 VL{u: isize, x: Path4},
50 //~^ ERROR the size for values of type
54 //~^ ERROR the size for values of type
56 //~^ ERROR the size for values of type
57 VO(isize, dyn FooBar),
58 //~^ ERROR the size for values of type
59 VP{u: isize, x: dyn BarFoo},
60 //~^ ERROR the size for values of type
63 VQ(<&'static [i8] as Deref>::Target),
64 //~^ ERROR the size for values of type
65 VR{x: <&'static [char] as Deref>::Target},
66 //~^ ERROR the size for values of type
67 VS(isize, <&'static [f64] as Deref>::Target),
68 //~^ ERROR the size for values of type
69 VT{u: isize, x: <&'static [i32] as Deref>::Target},
70 //~^ ERROR the size for values of type