• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use std::error::Error;
2 use std::io;
3 use std::process;
4 
5 use serde::Deserialize;
6 
7 #[derive(Debug, Deserialize)]
8 #[serde(rename_all = "PascalCase")]
9 struct Record {
10     latitude: f64,
11     longitude: f64,
12     population: Option<u64>,
13     city: String,
14     state: String,
15 }
16 
run() -> Result<(), Box<dyn Error>>17 fn run() -> Result<(), Box<dyn Error>> {
18     let mut rdr = csv::Reader::from_reader(io::stdin());
19     for result in rdr.deserialize() {
20         let record: Record = result?;
21         println!("{:?}", record);
22     }
23     Ok(())
24 }
25 
main()26 fn main() {
27     if let Err(err) = run() {
28         println!("{}", err);
29         process::exit(1);
30     }
31 }
32