F# does this and it could be quite useful for complex pattern switches
let f a b =
match a, b with
| 1, 2 -> ()
warning FS0025: Incomplete pattern matches on this expression. For example, the value '(_,0)' may indicate a case not covered by the pattern(s).