1 error: very complex type used. Consider factoring parts into `type` definitions
2 --> $DIR/complex_types.rs:9:12
4 9 | const CST: (u32, (u32, (u32, (u32, u32)))) = (0, (0, (0, (0, 0))));
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 = note: `-D type-complexity` implied by `-D warnings`
9 error: very complex type used. Consider factoring parts into `type` definitions
10 --> $DIR/complex_types.rs:10:12
12 10 | static ST: (u32, (u32, (u32, (u32, u32)))) = (0, (0, (0, (0, 0))));
13 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15 error: very complex type used. Consider factoring parts into `type` definitions
16 --> $DIR/complex_types.rs:13:8
18 13 | f: Vec<Vec<Box<(u32, u32, u32, u32)>>>,
19 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
21 error: very complex type used. Consider factoring parts into `type` definitions
22 --> $DIR/complex_types.rs:16:11
24 16 | struct TS(Vec<Vec<Box<(u32, u32, u32, u32)>>>);
25 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
27 error: very complex type used. Consider factoring parts into `type` definitions
28 --> $DIR/complex_types.rs:19:11
30 19 | Tuple(Vec<Vec<Box<(u32, u32, u32, u32)>>>),
31 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
33 error: very complex type used. Consider factoring parts into `type` definitions
34 --> $DIR/complex_types.rs:20:17
36 20 | Struct { f: Vec<Vec<Box<(u32, u32, u32, u32)>>> },
37 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
39 error: very complex type used. Consider factoring parts into `type` definitions
40 --> $DIR/complex_types.rs:24:14
42 24 | const A: (u32, (u32, (u32, (u32, u32)))) = (0, (0, (0, (0, 0))));
43 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
45 error: very complex type used. Consider factoring parts into `type` definitions
46 --> $DIR/complex_types.rs:25:30
48 25 | fn impl_method(&self, p: Vec<Vec<Box<(u32, u32, u32, u32)>>>) { }
49 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
51 error: very complex type used. Consider factoring parts into `type` definitions
52 --> $DIR/complex_types.rs:29:14
54 29 | const A: Vec<Vec<Box<(u32, u32, u32, u32)>>>;
55 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
57 error: very complex type used. Consider factoring parts into `type` definitions
58 --> $DIR/complex_types.rs:30:14
60 30 | type B = Vec<Vec<Box<(u32, u32, u32, u32)>>>;
61 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
63 error: very complex type used. Consider factoring parts into `type` definitions
64 --> $DIR/complex_types.rs:31:25
66 31 | fn method(&self, p: Vec<Vec<Box<(u32, u32, u32, u32)>>>);
67 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
69 error: very complex type used. Consider factoring parts into `type` definitions
70 --> $DIR/complex_types.rs:32:29
72 32 | fn def_method(&self, p: Vec<Vec<Box<(u32, u32, u32, u32)>>>) { }
73 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
75 error: very complex type used. Consider factoring parts into `type` definitions
76 --> $DIR/complex_types.rs:35:15
78 35 | fn test1() -> Vec<Vec<Box<(u32, u32, u32, u32)>>> { vec![] }
79 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
81 error: very complex type used. Consider factoring parts into `type` definitions
82 --> $DIR/complex_types.rs:37:14
84 37 | fn test2(_x: Vec<Vec<Box<(u32, u32, u32, u32)>>>) { }
85 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
87 error: very complex type used. Consider factoring parts into `type` definitions
88 --> $DIR/complex_types.rs:40:13
90 40 | let _y: Vec<Vec<Box<(u32, u32, u32, u32)>>> = vec![];
91 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^