const GROUND: i64 = 0; const SHALLOW: i64 = 1; const DEEP: i64 = 4; const LAVA: i64 = 7; fn terrain(t: i64) -> &'static str { match t { GROUND => "ground", x if (SHALLOW..DEEP).contains(&x) => "water", // 1, 2, 3 LAVA | 10..=11 => "hot", // 7, 10, 11 _ => "rock", } } fn main() { for (n,want) in [(0,"ground"),(1,"water"),(3,"water"),(4,"rock"),(7,"hot"),(9,"rock"),(10,"hot"),(11,"hot"),(12,"rock")] { assert_eq!(terrain(n),want); } }