error: unreachable pattern
  --> $DIR/exhaustive_integer_patterns.rs:23:9
   |
LL |         200 => {}
   |         ^^^
   |
note: lint level defined here
  --> $DIR/exhaustive_integer_patterns.rs:4:9
   |
LL | #![deny(unreachable_patterns)]
   |         ^^^^^^^^^^^^^^^^^^^^

error[E0004]: non-exhaustive patterns: `128u8..=std::u8::MAX` not covered
  --> $DIR/exhaustive_integer_patterns.rs:28:11
   |
LL |     match x {
   |           ^ pattern `128u8..=std::u8::MAX` not covered
   |
   = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error[E0004]: non-exhaustive patterns: `11u8..=19u8`, `31u8..=34u8`, `36u8..=69u8` and 1 more not covered
  --> $DIR/exhaustive_integer_patterns.rs:33:11
   |
LL |     match x {
   |           ^ patterns `11u8..=19u8`, `31u8..=34u8`, `36u8..=69u8` and 1 more not covered
   |
   = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error: unreachable pattern
  --> $DIR/exhaustive_integer_patterns.rs:44:9
   |
LL |         -2..=20 => {}
   |         ^^^^^^^

error[E0004]: non-exhaustive patterns: `std::i8::MIN..=-8i8`, `-6i8`, `121i8..=124i8` and 1 more not covered
  --> $DIR/exhaustive_integer_patterns.rs:41:11
   |
LL |     match x {
   |           ^ patterns `std::i8::MIN..=-8i8`, `-6i8`, `121i8..=124i8` and 1 more not covered
   |
   = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error[E0004]: non-exhaustive patterns: `std::i8::MIN` not covered
  --> $DIR/exhaustive_integer_patterns.rs:82:11
   |
LL |     match 0i8 {
   |           ^^^ pattern `std::i8::MIN` not covered
   |
   = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error[E0004]: non-exhaustive patterns: `0i16` not covered
  --> $DIR/exhaustive_integer_patterns.rs:90:11
   |
LL |     match 0i16 {
   |           ^^^^ pattern `0i16` not covered
   |
   = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error[E0004]: non-exhaustive patterns: `128u8..=std::u8::MAX` not covered
  --> $DIR/exhaustive_integer_patterns.rs:108:11
   |
LL |     match 0u8 {
   |           ^^^ pattern `128u8..=std::u8::MAX` not covered
   |
   = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error[E0004]: non-exhaustive patterns: `(0u8, Some(_))` and `(2u8..=std::u8::MAX, Some(_))` not covered
  --> $DIR/exhaustive_integer_patterns.rs:120:11
   |
LL |     match (0u8, Some(())) {
   |           ^^^^^^^^^^^^^^^ patterns `(0u8, Some(_))` and `(2u8..=std::u8::MAX, Some(_))` not covered
   |
   = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error[E0004]: non-exhaustive patterns: `(126u8..=127u8, false)` not covered
  --> $DIR/exhaustive_integer_patterns.rs:125:11
   |
LL |     match (0u8, true) {
   |           ^^^^^^^^^^^ pattern `(126u8..=127u8, false)` not covered
   |
   = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error[E0004]: non-exhaustive patterns: `std::u128::MAX` not covered
  --> $DIR/exhaustive_integer_patterns.rs:145:11
   |
LL |     match 0u128 {
   |           ^^^^^ pattern `std::u128::MAX` not covered
   |
   = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error[E0004]: non-exhaustive patterns: `5u128..=std::u128::MAX` not covered
  --> $DIR/exhaustive_integer_patterns.rs:149:11
   |
LL |     match 0u128 {
   |           ^^^^^ pattern `5u128..=std::u128::MAX` not covered
   |
   = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error[E0004]: non-exhaustive patterns: `0u128..=3u128` not covered
  --> $DIR/exhaustive_integer_patterns.rs:153:11
   |
LL |     match 0u128 {
   |           ^^^^^ pattern `0u128..=3u128` not covered
   |
   = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms

error: aborting due to 13 previous errors

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