clippy 0.0.208

A bunch of helpful lints to avoid common pitfalls in Rust
error: you seem to be trying to use match for destructuring a single pattern. Consider using `if let`
  --> $DIR/matches.rs:21:5
   |
21 | /     match ExprNode::Butterflies {
22 | |         ExprNode::ExprAddrOf => Some(&NODE),
23 | |         _ => { let x = 5; None },
24 | |     }
   | |_____^ help: try this: `if let ExprNode::ExprAddrOf = ExprNode::Butterflies { Some(&NODE) } else { let x = 5; None }`
   |
   = note: `-D single-match-else` implied by `-D warnings`

error: you don't need to add `&` to all patterns
  --> $DIR/matches.rs:30:9
   |
30 | /         match v {
31 | |             &Some(v) => println!("{:?}", v),
32 | |             &None => println!("none"),
33 | |         }
   | |_________^
   |
   = note: `-D match-ref-pats` implied by `-D warnings`
help: instead of prefixing all patterns with `&`, you can dereference the expression
   |
30 |         match *v {
31 |             Some(v) => println!("{:?}", v),
32 |             None => println!("none"),
   |

error: you don't need to add `&` to all patterns
  --> $DIR/matches.rs:40:5
   |
40 | /     match tup {
41 | |         &(v, 1) => println!("{}", v),
42 | |         _ => println!("none"),
43 | |     }
   | |_____^
help: instead of prefixing all patterns with `&`, you can dereference the expression
   |
40 |     match *tup {
41 |         (v, 1) => println!("{}", v),
   |

error: you don't need to add `&` to both the expression and the patterns
  --> $DIR/matches.rs:46:5
   |
46 | /     match &w {
47 | |         &Some(v) => println!("{:?}", v),
48 | |         &None => println!("none"),
49 | |     }
   | |_____^
help: try
   |
46 |     match w {
47 |         Some(v) => println!("{:?}", v),
48 |         None => println!("none"),
   |

error: you don't need to add `&` to all patterns
  --> $DIR/matches.rs:57:5
   |
57 | /     if let &None = a {
58 | |         println!("none");
59 | |     }
   | |_____^
help: instead of prefixing all patterns with `&`, you can dereference the expression
   |
57 |     if let None = *a {
   |            ^^^^   ^^

error: you don't need to add `&` to both the expression and the patterns
  --> $DIR/matches.rs:62:5
   |
62 | /     if let &None = &b {
63 | |         println!("none");
64 | |     }
   | |_____^
help: try
   |
62 |     if let None = b {
   |            ^^^^   ^

error: some ranges overlap
  --> $DIR/matches.rs:71:9
   |
71 |         0 ... 10 => println!("0 ... 10"),
   |         ^^^^^^^^
   |
   = note: `-D match-overlapping-arm` implied by `-D warnings`
note: overlaps with this
  --> $DIR/matches.rs:72:9
   |
72 |         0 ... 11 => println!("0 ... 11"),
   |         ^^^^^^^^

error: some ranges overlap
  --> $DIR/matches.rs:77:9
   |
77 |         0 ... 5 => println!("0 ... 5"),
   |         ^^^^^^^
   |
note: overlaps with this
  --> $DIR/matches.rs:79:9
   |
79 |         FOO ... 11 => println!("0 ... 11"),
   |         ^^^^^^^^^^

error: some ranges overlap
  --> $DIR/matches.rs:85:9
   |
85 |         0 ... 5 => println!("0 ... 5"),
   |         ^^^^^^^
   |
note: overlaps with this
  --> $DIR/matches.rs:84:9
   |
84 |         2 => println!("2"),
   |         ^

error: some ranges overlap
  --> $DIR/matches.rs:91:9
   |
91 |         0 ... 2 => println!("0 ... 2"),
   |         ^^^^^^^
   |
note: overlaps with this
  --> $DIR/matches.rs:90:9
   |
90 |         2 => println!("2"),
   |         ^

error: some ranges overlap
   --> $DIR/matches.rs:114:9
    |
114 |         0 .. 11 => println!("0 .. 11"),
    |         ^^^^^^^
    |
note: overlaps with this
   --> $DIR/matches.rs:115:9
    |
115 |         0 ... 11 => println!("0 ... 11"),
    |         ^^^^^^^^

error: Err(_) will match all errors, maybe not a good idea
   --> $DIR/matches.rs:132:9
    |
132 |         Err(_) => panic!("err")
    |         ^^^^^^
    |
    = note: `-D match-wild-err-arm` implied by `-D warnings`
    = note: to remove this warning, match each error seperately or use unreachable macro

error: this `match` has identical arm bodies
   --> $DIR/matches.rs:131:18
    |
131 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
    = note: `-D match-same-arms` implied by `-D warnings`
note: same as this
   --> $DIR/matches.rs:130:18
    |
130 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:130:18
    |
130 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error: Err(_) will match all errors, maybe not a good idea
   --> $DIR/matches.rs:138:9
    |
138 |         Err(_) => {panic!()}
    |         ^^^^^^
    |
    = note: to remove this warning, match each error seperately or use unreachable macro

error: this `match` has identical arm bodies
   --> $DIR/matches.rs:137:18
    |
137 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:136:18
    |
136 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:136:18
    |
136 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error: Err(_) will match all errors, maybe not a good idea
   --> $DIR/matches.rs:144:9
    |
144 |         Err(_) => {panic!();}
    |         ^^^^^^
    |
    = note: to remove this warning, match each error seperately or use unreachable macro

error: this `match` has identical arm bodies
   --> $DIR/matches.rs:143:18
    |
143 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:142:18
    |
142 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:142:18
    |
142 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error: this `match` has identical arm bodies
   --> $DIR/matches.rs:150:18
    |
150 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:149:18
    |
149 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:149:18
    |
149 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error: this `match` has identical arm bodies
   --> $DIR/matches.rs:157:18
    |
157 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:156:18
    |
156 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:156:18
    |
156 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error: this `match` has identical arm bodies
   --> $DIR/matches.rs:163:18
    |
163 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:162:18
    |
162 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:162:18
    |
162 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error: this `match` has identical arm bodies
   --> $DIR/matches.rs:169:18
    |
169 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:168:18
    |
168 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:168:18
    |
168 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error: this `match` has identical arm bodies
   --> $DIR/matches.rs:190:29
    |
190 |         (Ok(_), Some(x)) => println!("ok {}", x),
    |                             ^^^^^^^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:189:29
    |
189 |         (Ok(x), Some(_)) => println!("ok {}", x),
    |                             ^^^^^^^^^^^^^^^^^^^^
note: consider refactoring into `(Ok(x), Some(_)) | (Ok(_), Some(x))`
   --> $DIR/matches.rs:189:29
    |
189 |         (Ok(x), Some(_)) => println!("ok {}", x),
    |                             ^^^^^^^^^^^^^^^^^^^^
    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error: this `match` has identical arm bodies
   --> $DIR/matches.rs:205:18
    |
205 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:204:18
    |
204 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:204:18
    |
204 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error: use as_ref() instead
   --> $DIR/matches.rs:212:33
    |
212 |       let borrowed: Option<&()> = match owned {
    |  _________________________________^
213 | |         None => None,
214 | |         Some(ref v) => Some(v),
215 | |     };
    | |_____^ help: try this: `owned.as_ref()`
    |
    = note: `-D match-as-ref` implied by `-D warnings`

error: use as_mut() instead
   --> $DIR/matches.rs:218:39
    |
218 |       let borrow_mut: Option<&mut ()> = match mut_owned {
    |  _______________________________________^
219 | |         None => None,
220 | |         Some(ref mut v) => Some(v),
221 | |     };
    | |_____^ help: try this: `mut_owned.as_mut()`

error: aborting due to 25 previous errors