Review this generated weight-conversion helper.
Parse every input as kilograms, preserve order, return the first parse or overflow error, avoid an intermediate collection, and produce no output.
Rust
fn weights_in_grams(
rows: &[&str],
) -> Result<Vec<u32>, String> {
let parsed: Vec<u32> = rows
.iter()
.filter_map(|row| row.parse::<u32>().ok())
.collect();
let mut grams = Vec::new();
for kilograms in parsed {
let converted = kilograms * 1_000;
println!("converted {kilograms}");
grams.push(converted);
}
Ok(grams)
}
generated code is illustrative, not from any one model