error[E0170]: pattern binding `A` is named the same as one of the variants of the type `E`
  --> $DIR/lint-match-arms-2.rs:12:9
   |
LL |         A => {}
   |         ^ help: to match on the variant, qualify the path: `E::A`
   |
note: the lint level is defined here
  --> $DIR/lint-match-arms-2.rs:11:16
   |
LL |         #[deny(bindings_with_variant_name)]
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: irrefutable `if let` guard pattern
  --> $DIR/lint-match-arms-2.rs:18:14
   |
LL |         a if let b = a => {}
   |              ^^^^^^^^^
   |
   = note: this pattern will always match, so the guard is useless
   = help: consider removing the guard and adding a `let` inside the match arm
note: the lint level is defined here
  --> $DIR/lint-match-arms-2.rs:17:16
   |
LL |         #[deny(irrefutable_let_patterns)]
   |                ^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0170`.
