rustc thinks the check is "useless", and therefore the "fail" case is treated as dead code.