そんなことよりもだ!Rustに限らないけど
これって誰も食いつかないんだけど、1と2どっちが良いか、そろそろ決着つけてくれ
let upper = 1000;
// 1、これと
let mut acc = 0;
for n in 0.. {
  let n_squared = n * n;
  if n_squared >= upper {
    break;
  } else if n_squared % 2 == 1 {
    acc += n_squared;
  }
}

// 2、これ
let acc1: u32 = (0..).map(|n| n * n)
 .take_while(|&n_squared| n_squared < upper)
 .filter(|&n_squared| is_odd(n_squared))
 .fold(0, |acc, n_squared| acc + n_squared);