1 use std::collections::HashMap; 2 use std::error::Error; 3 use std::io; 4 use std::process; 5 6 // This introduces a type alias so that we can conveniently reference our 7 // record type. 8 type Record = HashMap<String, String>; 9 run() -> Result<(), Box<dyn Error>>10fn run() -> Result<(), Box<dyn Error>> { 11 let mut rdr = csv::Reader::from_reader(io::stdin()); 12 for result in rdr.deserialize() { 13 let record: Record = result?; 14 println!("{:?}", record); 15 } 16 Ok(()) 17 } 18 main()19fn main() { 20 if let Err(err) = run() { 21 println!("{}", err); 22 process::exit(1); 23 } 24 } 25