From 8384c6406df687b69c170646d902f4d36cfff8c0 Mon Sep 17 00:00:00 2001 From: Tobias Berger Date: Fri, 6 Nov 2020 16:27:11 +0100 Subject: [PATCH] Rust template --- rust/.gitignore | 1 + rust/.helix/config.toml | 2 ++ rust/Cargo.lock | 7 +++++++ rust/Cargo.toml | 24 ++++++++++++++++++++++++ rust/src/day00/input.txt | 0 rust/src/day00/main.rs | 11 +++++++++++ rust/src/day00/part_1.rs | 24 ++++++++++++++++++++++++ rust/src/day00/part_2.rs | 24 ++++++++++++++++++++++++ rust/src/day00/sample_input.txt | 0 9 files changed, 93 insertions(+) create mode 100644 rust/.gitignore create mode 100644 rust/.helix/config.toml create mode 100644 rust/Cargo.lock create mode 100644 rust/Cargo.toml create mode 100644 rust/src/day00/input.txt create mode 100644 rust/src/day00/main.rs create mode 100644 rust/src/day00/part_1.rs create mode 100644 rust/src/day00/part_2.rs create mode 100644 rust/src/day00/sample_input.txt diff --git a/rust/.gitignore b/rust/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/rust/.gitignore @@ -0,0 +1 @@ +/target diff --git a/rust/.helix/config.toml b/rust/.helix/config.toml new file mode 100644 index 0000000..66f2653 --- /dev/null +++ b/rust/.helix/config.toml @@ -0,0 +1,2 @@ +[editor.file-picker] +git-ignore = true diff --git a/rust/Cargo.lock b/rust/Cargo.lock new file mode 100644 index 0000000..cc9f95d --- /dev/null +++ b/rust/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "advent-of-code" +version = "23.0.0" diff --git a/rust/Cargo.toml b/rust/Cargo.toml new file mode 100644 index 0000000..4fe13f5 --- /dev/null +++ b/rust/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "advent-of-code" +version = "23.0.0" + +[profile.release] +strip = "symbols" +lto = true +opt-level = 3 +codegen-units = 1 + +[profile.dev.package."*"] +opt-level = 3 +codegen-units = 1 +[profile.release.package."*"] +opt-level = 3 +codegen-units = 1 +[profile.release.build-override] +codegen-units = 1 + +[[bin]] +name = "template" +# day00 for alphabetic sorting +path = "src/day00/main.rs" +test = false diff --git a/rust/src/day00/input.txt b/rust/src/day00/input.txt new file mode 100644 index 0000000..e69de29 diff --git a/rust/src/day00/main.rs b/rust/src/day00/main.rs new file mode 100644 index 0000000..333bf98 --- /dev/null +++ b/rust/src/day00/main.rs @@ -0,0 +1,11 @@ +const INPUT: &str = include_str!("input.txt"); + +mod part_1; +use part_1::part_1; +mod part_2; +use part_2::part_2; + +fn main() { + println!("{}", part_1(INPUT)); + println!("{}", part_2(INPUT)); +} diff --git a/rust/src/day00/part_1.rs b/rust/src/day00/part_1.rs new file mode 100644 index 0000000..69dceb9 --- /dev/null +++ b/rust/src/day00/part_1.rs @@ -0,0 +1,24 @@ +pub(crate) fn part_1(_input: &'static str) -> u64 { + todo!("Part 1") +} + +#[cfg(test)] +mod tests { + const SAMPLE_INPUT: &str = include_str!("sample_input.txt"); + + #[test] + fn test_with_sample_solution() { + assert_eq!( + super::part_1(SAMPLE_INPUT), + todo!("Add result from example part 1") + ) + } + + #[test] + fn test_with_solution() { + assert_eq!( + super::part_1(crate::INPUT), + todo!("Add result for solved part 1") + ); + } +} diff --git a/rust/src/day00/part_2.rs b/rust/src/day00/part_2.rs new file mode 100644 index 0000000..928ee24 --- /dev/null +++ b/rust/src/day00/part_2.rs @@ -0,0 +1,24 @@ +pub(crate) fn part_2(_input: &'static str) -> u64 { + todo!("Part 2") +} + +#[cfg(test)] +mod tests { + const SAMPLE_INPUT: &str = include_str!("sample_input.txt"); + + #[test] + fn test_with_sample_solution() { + assert_eq!( + super::part_2(SAMPLE_INPUT), + todo!("Add result from example part 2") + ); + } + + #[test] + fn test_with_solution() { + assert_eq!( + super::part_2(crate::INPUT), + todo!("Add result for solved part 2") + ); + } +} diff --git a/rust/src/day00/sample_input.txt b/rust/src/day00/sample_input.txt new file mode 100644 index 0000000..e69de29