in Rust this is just
pub fn zero_filled_subarray(nums: Vec) -> i64 {
nums.chunk_by(|a, b| a == b)
.filter(|s| s[0] == 0)
.map(|s| (s.len() * (s.len() + 1) / 2) as i64)
.sum()
}