clippy 0.0.155

A bunch of helpful lints to avoid common pitfalls in Rust
Documentation
error: very complex type used. Consider factoring parts into `type` definitions
 --> $DIR/complex_types.rs:9:12
  |
9 | const CST: (u32, (u32, (u32, (u32, u32)))) = (0, (0, (0, (0, 0))));
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `-D type-complexity` implied by `-D warnings`

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:10:12
   |
10 | static ST: (u32, (u32, (u32, (u32, u32)))) = (0, (0, (0, (0, 0))));
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:13:8
   |
13 |     f: Vec<Vec<Box<(u32, u32, u32, u32)>>>,
   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:16:11
   |
16 | struct TS(Vec<Vec<Box<(u32, u32, u32, u32)>>>);
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:19:11
   |
19 |     Tuple(Vec<Vec<Box<(u32, u32, u32, u32)>>>),
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:20:17
   |
20 |     Struct { f: Vec<Vec<Box<(u32, u32, u32, u32)>>> },
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:24:14
   |
24 |     const A: (u32, (u32, (u32, (u32, u32)))) = (0, (0, (0, (0, 0))));
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:25:30
   |
25 |     fn impl_method(&self, p: Vec<Vec<Box<(u32, u32, u32, u32)>>>) { }
   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:29:14
   |
29 |     const A: Vec<Vec<Box<(u32, u32, u32, u32)>>>;
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:30:14
   |
30 |     type B = Vec<Vec<Box<(u32, u32, u32, u32)>>>;
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:31:25
   |
31 |     fn method(&self, p: Vec<Vec<Box<(u32, u32, u32, u32)>>>);
   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:32:29
   |
32 |     fn def_method(&self, p: Vec<Vec<Box<(u32, u32, u32, u32)>>>) { }
   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:35:15
   |
35 | fn test1() -> Vec<Vec<Box<(u32, u32, u32, u32)>>> { vec![] }
   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:37:14
   |
37 | fn test2(_x: Vec<Vec<Box<(u32, u32, u32, u32)>>>) { }
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: very complex type used. Consider factoring parts into `type` definitions
  --> $DIR/complex_types.rs:40:13
   |
40 |     let _y: Vec<Vec<Box<(u32, u32, u32, u32)>>> = vec![];
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 15 previous errors