fn is_prime(u64: n &Vec: primes) -> [bool] { n 0 while over over primes Vec.at Option.unwrap dup * >= if { over over primes Vec.at Option.unwrap % 0 != } else { false } do { 1 + } primes Vec.at Option.unwrap dup * < } fn main() { 10001 Vec.with_capacity:: as [mut primes] 2 *primes Vec.push 3 while &primes Vec.len 10001 < do { dup &primes is_prime if { dup *primes Vec.push } 1 + } drop &primes Vec.last Option.unwrap println }