diff --git a/2020/.gitignore b/2020/.gitignore index b83d222..f514e18 100644 --- a/2020/.gitignore +++ b/2020/.gitignore @@ -1 +1,4 @@ +/.idea/* +!/.idea/runConfigurations + /target/ diff --git a/.idea/runConfigurations/2020___Day_01.xml b/2020/.idea/runConfigurations/Day_01.xml similarity index 80% rename from .idea/runConfigurations/2020___Day_01.xml rename to 2020/.idea/runConfigurations/Day_01.xml index 594eea8..4af12f9 100644 --- a/.idea/runConfigurations/2020___Day_01.xml +++ b/2020/.idea/runConfigurations/Day_01.xml @@ -1,12 +1,13 @@ <component name="ProjectRunConfigurationManager"> - <configuration default="false" name="2020 - Day 01" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> + <configuration default="false" name="Day 01" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> <option name="command" value="run --bin 01" /> - <option name="workingDirectory" value="file://$PROJECT_DIR$/2020/01" /> + <option name="workingDirectory" value="file://$PROJECT_DIR$/01" /> <option name="channel" value="DEFAULT" /> <option name="requiredFeatures" value="true" /> <option name="allFeatures" value="false" /> <option name="emulateTerminal" value="false" /> <option name="withSudo" value="false" /> + <option name="buildTarget" value="REMOTE" /> <option name="backtrace" value="SHORT" /> <envs /> <option name="isRedirectInput" value="false" /> diff --git a/.idea/runConfigurations/2020___Day_02.xml b/2020/.idea/runConfigurations/Day_02.xml similarity index 80% rename from .idea/runConfigurations/2020___Day_02.xml rename to 2020/.idea/runConfigurations/Day_02.xml index aa48843..f54fcdb 100644 --- a/.idea/runConfigurations/2020___Day_02.xml +++ b/2020/.idea/runConfigurations/Day_02.xml @@ -1,12 +1,13 @@ <component name="ProjectRunConfigurationManager"> - <configuration default="false" name="2020 - Day 02" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> + <configuration default="false" name="Day 02" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> <option name="command" value="run --bin 02" /> - <option name="workingDirectory" value="file://$PROJECT_DIR$/2020/02" /> + <option name="workingDirectory" value="file://$PROJECT_DIR$/02" /> <option name="channel" value="DEFAULT" /> <option name="requiredFeatures" value="true" /> <option name="allFeatures" value="false" /> <option name="emulateTerminal" value="false" /> <option name="withSudo" value="false" /> + <option name="buildTarget" value="REMOTE" /> <option name="backtrace" value="SHORT" /> <envs /> <option name="isRedirectInput" value="false" /> diff --git a/.idea/runConfigurations/2020___Day_03.xml b/2020/.idea/runConfigurations/Day_03.xml similarity index 80% rename from .idea/runConfigurations/2020___Day_03.xml rename to 2020/.idea/runConfigurations/Day_03.xml index 2cb6432..e353515 100644 --- a/.idea/runConfigurations/2020___Day_03.xml +++ b/2020/.idea/runConfigurations/Day_03.xml @@ -1,12 +1,13 @@ <component name="ProjectRunConfigurationManager"> - <configuration default="false" name="2020 - Day 03" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> + <configuration default="false" name="Day 03" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> <option name="command" value="run --bin 03" /> - <option name="workingDirectory" value="file://$PROJECT_DIR$/2020/03" /> + <option name="workingDirectory" value="file://$PROJECT_DIR$/03" /> <option name="channel" value="DEFAULT" /> <option name="requiredFeatures" value="true" /> <option name="allFeatures" value="false" /> <option name="emulateTerminal" value="false" /> <option name="withSudo" value="false" /> + <option name="buildTarget" value="REMOTE" /> <option name="backtrace" value="SHORT" /> <envs /> <option name="isRedirectInput" value="false" /> diff --git a/.idea/runConfigurations/2020___Day_04.xml b/2020/.idea/runConfigurations/Day_04.xml similarity index 80% rename from .idea/runConfigurations/2020___Day_04.xml rename to 2020/.idea/runConfigurations/Day_04.xml index f965757..9f63ff4 100644 --- a/.idea/runConfigurations/2020___Day_04.xml +++ b/2020/.idea/runConfigurations/Day_04.xml @@ -1,12 +1,13 @@ <component name="ProjectRunConfigurationManager"> - <configuration default="false" name="2020 - Day 04" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> + <configuration default="false" name="Day 04" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> <option name="command" value="run --bin 04" /> - <option name="workingDirectory" value="file://$PROJECT_DIR$/2020/04" /> + <option name="workingDirectory" value="file://$PROJECT_DIR$/04" /> <option name="channel" value="DEFAULT" /> <option name="requiredFeatures" value="true" /> <option name="allFeatures" value="false" /> <option name="emulateTerminal" value="false" /> <option name="withSudo" value="false" /> + <option name="buildTarget" value="REMOTE" /> <option name="backtrace" value="SHORT" /> <envs /> <option name="isRedirectInput" value="false" /> diff --git a/.idea/runConfigurations/2020___Day_05.xml b/2020/.idea/runConfigurations/Day_05.xml similarity index 80% rename from .idea/runConfigurations/2020___Day_05.xml rename to 2020/.idea/runConfigurations/Day_05.xml index e990352..6226611 100644 --- a/.idea/runConfigurations/2020___Day_05.xml +++ b/2020/.idea/runConfigurations/Day_05.xml @@ -1,12 +1,13 @@ <component name="ProjectRunConfigurationManager"> - <configuration default="false" name="2020 - Day 05" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> + <configuration default="false" name="Day 05" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> <option name="command" value="run --bin 05" /> - <option name="workingDirectory" value="file://$PROJECT_DIR$/2020/05" /> + <option name="workingDirectory" value="file://$PROJECT_DIR$/05" /> <option name="channel" value="DEFAULT" /> <option name="requiredFeatures" value="true" /> <option name="allFeatures" value="false" /> <option name="emulateTerminal" value="false" /> <option name="withSudo" value="false" /> + <option name="buildTarget" value="REMOTE" /> <option name="backtrace" value="SHORT" /> <envs /> <option name="isRedirectInput" value="false" /> diff --git a/.idea/runConfigurations/2020___Day_06.xml b/2020/.idea/runConfigurations/Day_06.xml similarity index 80% rename from .idea/runConfigurations/2020___Day_06.xml rename to 2020/.idea/runConfigurations/Day_06.xml index a16c491..427646f 100644 --- a/.idea/runConfigurations/2020___Day_06.xml +++ b/2020/.idea/runConfigurations/Day_06.xml @@ -1,12 +1,13 @@ <component name="ProjectRunConfigurationManager"> - <configuration default="false" name="2020 - Day 06" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> + <configuration default="false" name="Day 06" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> <option name="command" value="run --bin 06" /> - <option name="workingDirectory" value="file://$PROJECT_DIR$/2020/06" /> + <option name="workingDirectory" value="file://$PROJECT_DIR$/06" /> <option name="channel" value="DEFAULT" /> <option name="requiredFeatures" value="true" /> <option name="allFeatures" value="false" /> <option name="emulateTerminal" value="false" /> <option name="withSudo" value="false" /> + <option name="buildTarget" value="REMOTE" /> <option name="backtrace" value="SHORT" /> <envs /> <option name="isRedirectInput" value="false" /> diff --git a/.idea/runConfigurations/2020___Day_07.xml b/2020/.idea/runConfigurations/Day_07.xml similarity index 80% rename from .idea/runConfigurations/2020___Day_07.xml rename to 2020/.idea/runConfigurations/Day_07.xml index 9c723cc..85fd96f 100644 --- a/.idea/runConfigurations/2020___Day_07.xml +++ b/2020/.idea/runConfigurations/Day_07.xml @@ -1,12 +1,13 @@ <component name="ProjectRunConfigurationManager"> - <configuration default="false" name="2020 - Day 07" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> + <configuration default="false" name="Day 07" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> <option name="command" value="run --bin 07" /> - <option name="workingDirectory" value="file://$PROJECT_DIR$/2020/07" /> + <option name="workingDirectory" value="file://$PROJECT_DIR$/07" /> <option name="channel" value="DEFAULT" /> <option name="requiredFeatures" value="true" /> <option name="allFeatures" value="false" /> <option name="emulateTerminal" value="false" /> <option name="withSudo" value="false" /> + <option name="buildTarget" value="REMOTE" /> <option name="backtrace" value="SHORT" /> <envs /> <option name="isRedirectInput" value="false" /> diff --git a/.idea/runConfigurations/2020___Day_08.xml b/2020/.idea/runConfigurations/Day_08.xml similarity index 80% rename from .idea/runConfigurations/2020___Day_08.xml rename to 2020/.idea/runConfigurations/Day_08.xml index a0b4d44..ae4001e 100644 --- a/.idea/runConfigurations/2020___Day_08.xml +++ b/2020/.idea/runConfigurations/Day_08.xml @@ -1,12 +1,13 @@ <component name="ProjectRunConfigurationManager"> - <configuration default="false" name="2020 - Day 08" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> + <configuration default="false" name="Day 08" type="CargoCommandRunConfiguration" factoryName="Cargo Command"> <option name="command" value="run --bin 08" /> - <option name="workingDirectory" value="file://$PROJECT_DIR$/2020/08" /> + <option name="workingDirectory" value="file://$PROJECT_DIR$/08" /> <option name="channel" value="DEFAULT" /> <option name="requiredFeatures" value="true" /> <option name="allFeatures" value="false" /> <option name="emulateTerminal" value="false" /> <option name="withSudo" value="false" /> + <option name="buildTarget" value="REMOTE" /> <option name="backtrace" value="SHORT" /> <envs /> <option name="isRedirectInput" value="false" /> diff --git a/2020/utils/mod.rs b/2020/utils/mod.rs index 598fdfc..ee427df 100644 --- a/2020/utils/mod.rs +++ b/2020/utils/mod.rs @@ -1,3 +1,5 @@ +#![allow(dead_code)] + use std::error::Error; use std::fmt::{Debug, Display, Formatter}; use std::fs::File; @@ -10,7 +12,6 @@ pub fn read_input_lines() -> Result<Vec<String>, io::Error> { return BufReader::new(file).lines().collect(); } -#[allow(dead_code)] pub fn parse_input_lines<T : FromStr>() -> Result<Vec<T>, Box<dyn Error>> where <T as FromStr>::Err : Into<Box<dyn Error>> { return read_input_lines()?.iter().map(|line| line.parse::<T>()).collect::<Result<Vec<T>, T::Err>>().map_err(Into::into); } diff --git a/README.md b/README.md index 9a4923c..c5e87d1 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,9 @@ The source code is in `main.kt`. The run configuration executes the `main()` met ## \[2020\] Rust -The repository contains a Cargo project (`2020/Cargo.toml`) that sets up every day as a binary target that can be launched with `cargo run --bin <day>`, for ex. `cargo run --bin 01`. You should be able to load the Cargo project into [CLion](https://www.jetbrains.com/clion/). +The repository contains a Cargo project (`2020/Cargo.toml`) that sets up every day as a binary target that can be launched with `cargo run --bin <day>`, for ex. `cargo run --bin 01`. + +You should be able to load the Cargo project into [CLion](https://www.jetbrains.com/clion/). The source code is in `main.rs`. The run configuration executes the `main()` function in this file.