diff --git a/2016/rust/Cargo.toml b/2016/rust/Cargo.toml index 7ed1c86..7c0e8c4 100644 --- a/2016/rust/Cargo.toml +++ b/2016/rust/Cargo.toml @@ -7,3 +7,6 @@ authors = ["Alpha Chen "] error-chain = "0.7" regex = "0.1" rust-crypto = "0.2" + +[profile.release] +debug = true diff --git a/2016/rust/src/lib.rs b/2016/rust/src/lib.rs index ff55076..2f3bbb7 100644 --- a/2016/rust/src/lib.rs +++ b/2016/rust/src/lib.rs @@ -1,10 +1,11 @@ -#![feature(field_init_shorthand, inclusive_range_syntax)] +#![feature(alloc_system, field_init_shorthand, inclusive_range_syntax)] #![recursion_limit = "1024"] +extern crate alloc_system; +extern crate crypto; #[macro_use] extern crate error_chain; extern crate regex; -extern crate crypto; mod assembunny; pub mod errors; diff --git a/2016/rust/src/main.rs b/2016/rust/src/main.rs index 8eba962..a25bb1b 100644 --- a/2016/rust/src/main.rs +++ b/2016/rust/src/main.rs @@ -1,5 +1,6 @@ -use std::io; -use std::io::Read; +use std::env; +use std::fs::File; +use std::io::prelude::*; extern crate advent_of_code_2016; use advent_of_code_2016::*; @@ -7,8 +8,10 @@ use advent_of_code_2016::errors::*; fn main() { run(|| { + let filename = env::args().nth(1).ok_or("")?; + let mut f = File::open(filename).chain_err(|| "")?; let mut input = String::new(); - io::stdin().read_to_string(&mut input).ok(); + f.read_to_string(&mut input).chain_err(|| "")?; let solution = day_23::solve(&input)?; println!("{}", solution);