#![allow(dead_code)] #![allow(non_snake_case)] #![allow(non_upper_case_globals)] #[macro_use] mod utils; use std::env; use std::process; fn main() { let args: Vec = env::args().collect(); let mut i:i32 = 0; let mut d:f64 = 0.0f64; match (|| -> Result<(), utils::CustomError>{ i = args[1].trim().parse::()?; return Ok(()); })() { Ok(()) => {}, Err(ex) => { match ex { _ => { println!("Can't convert to integer!"); process::exit(1); } } } }; match (|| -> Result<(), utils::CustomError>{ d = args[2].trim().parse::()?; return Ok(()); })() { Ok(()) => {}, Err(ex) => { match ex { _ => { println!("Can't convert to floating point!"); process::exit(1); } } } }; println!("i + d = {0}", (i) as f64 + d); }