error: you seem to be trying to use match for destructuring a single pattern. Consider using `if let`
  --> $DIR/matches.rs:31:5
   |
31 | /     match ExprNode::Butterflies {
32 | |         ExprNode::ExprAddrOf => Some(&NODE),
33 | |         _ => { let x = 5; None },
34 | |     }
   | |_____^ help: try this: `if let ExprNode::ExprAddrOf = ExprNode::Butterflies { Some(&NODE) } else { let x = 5; None }`
   |
   = note: `-D clippy::single-match-else` implied by `-D warnings`

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

error: you seem to be trying to use match for destructuring a single pattern. Consider using `if let`
  --> $DIR/matches.rs:50:5
   |
50 | /     match tup {
51 | |         &(v, 1) => println!("{}", v),
52 | |         _ => println!("none"),
53 | |     }
   | |_____^ help: try this: `if let &(v, 1) = tup { println!("{}", v) } else { println!("none") }`

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

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

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

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

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

error: this `match` has identical arm bodies
  --> $DIR/matches.rs:82:18
   |
82 |         Ok(_) => println!("ok"),
   |                  ^^^^^^^^^^^^^^
   |
   = note: `-D clippy::match-same-arms` implied by `-D warnings`
note: same as this
  --> $DIR/matches.rs:81:18
   |
81 |         Ok(3) => println!("ok"),
   |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
  --> $DIR/matches.rs:81:18
   |
81 |         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:89:9
   |
89 |         Err(_) => {panic!()}
   |         ^^^^^^
   |
   = note: to remove this warning, match each error separately or use unreachable macro

error: this `match` has identical arm bodies
  --> $DIR/matches.rs:88:18
   |
88 |         Ok(_) => println!("ok"),
   |                  ^^^^^^^^^^^^^^
   |
note: same as this
  --> $DIR/matches.rs:87:18
   |
87 |         Ok(3) => println!("ok"),
   |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
  --> $DIR/matches.rs:87:18
   |
87 |         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:95:9
   |
95 |         Err(_) => {panic!();}
   |         ^^^^^^
   |
   = note: to remove this warning, match each error separately or use unreachable macro

error: this `match` has identical arm bodies
  --> $DIR/matches.rs:94:18
   |
94 |         Ok(_) => println!("ok"),
   |                  ^^^^^^^^^^^^^^
   |
note: same as this
  --> $DIR/matches.rs:93:18
   |
93 |         Ok(3) => println!("ok"),
   |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
  --> $DIR/matches.rs:93:18
   |
93 |         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:101:18
    |
101 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:100:18
    |
100 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:100:18
    |
100 |         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:108:18
    |
108 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:107:18
    |
107 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:107:18
    |
107 |         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:114:18
    |
114 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:113:18
    |
113 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:113:18
    |
113 |         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:120:18
    |
120 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:119:18
    |
119 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:119:18
    |
119 |         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:141:29
    |
141 |         (Ok(_), Some(x)) => println!("ok {}", x),
    |                             ^^^^^^^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:140:29
    |
140 |         (Ok(x), Some(_)) => println!("ok {}", x),
    |                             ^^^^^^^^^^^^^^^^^^^^
note: consider refactoring into `(Ok(x), Some(_)) | (Ok(_), Some(x))`
   --> $DIR/matches.rs:140:29
    |
140 |         (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:156:18
    |
156 |         Ok(_) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
    |
note: same as this
   --> $DIR/matches.rs:155:18
    |
155 |         Ok(3) => println!("ok"),
    |                  ^^^^^^^^^^^^^^
note: consider refactoring into `Ok(3) | Ok(_)`
   --> $DIR/matches.rs:155:18
    |
155 |         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:163:33
    |
163 |       let borrowed: Option<&()> = match owned {
    |  _________________________________^
164 | |         None => None,
165 | |         Some(ref v) => Some(v),
166 | |     };
    | |_____^ help: try this: `owned.as_ref()`
    |
    = note: `-D clippy::match-as-ref` implied by `-D warnings`

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

error: aborting due to 21 previous errors