#![allow(dead_code, deprecated, unused_variables, unused_mut)] fn main() -> Result<(), core::num::ParseIntError> { let string = "1,2,123,4"; let (numbers, lengths): (Vec<_>, Vec<_>) = string .split(',') .map(|s| s.parse().map(|n: u32| (n, s.len()))) .collect::>()?; assert_eq!(numbers, [1, 2, 123, 4]); assert_eq!(lengths, [1, 1, 3, 1]); Ok(()) }