Xo is experimental. The source code is not public yet; it will be soon. Read the release notes
Menu · XO0301

Docs

XO0301: match does not cover every case

error · reported by the checker

A match must cover every value of its subject. The message lists example patterns that are missing (such as C, Some(Err(_)), [_], or _ for integers and strings). Guarded arms (if ...) do not count toward coverage. A match on target.os must name every OS, so a missing platform fails on every host. Add the missing arms. For an enum declared in the same module, list the variants rather than adding _ (XO0305). See core 2.3 and 3.5.

Example

enum E { A, B, C }

fn f(e: E) -> Int {
  match e {
    A => 1
    B => 2
  }
}

Fix

enum E { A, B, C }

fn f(e: E) -> Int {
  match e {
    A => 1
    B | C => 2
  }
}

Run xo explain XO0301 for this text in a terminal, or see section 10.6 of the specification.