rust-clippy: factor an `if` with the same duplicated clause
Unlike the next changeset, this if is not really made clearer by keeping the
cases separate.
rust-narrow: fix loop that never loops
This was caught by `clippy`. I guess the narrow tests leave something to be
desired, since this previously only checked the first valid pattern.