Repository moved to cargo-aoc/aoc-runner
This is a simple project that aims to be a runner for the Advent of Code.
Implement your solution. Let us do the rest.
- Input downloading
- Running your solution
- Benchmarking of your solution (WIP)
- Create a lib project
cargo new advent-of-code-2018 --lib
- Add deps to your Cargo.toml:
aoc-runner = "0.1.0"
aoc-runner-derive = "0.1.0"
- Include libs in your lib.rs
extern crate aoc_runner;
#[macro_use]
extern crate aoc_runner_derive;
- Add
aoc_lib!{ year = 2018 }
at the end of your lib.rs - Start coding !
just add a #[aoc(day1, part1)]
before your function !
#[aoc(day1, part1)]
fn part1(input: &str) -> i32 {
...
}
Supported signatures : &str
or &[u8]
as input, any type implementing display as output.
For custom input, see below.
You need to pre-process input in a separated function ? generators are for you !
#[aoc_generator(day2)]
fn input_generator(input: &str) -> Vec<Gift> {
...
}
#[aoc(day2, part1)]
fn part1(input: &[Gift]) -> u32 {
...
}
See cargo-aoc