|
||
---|---|---|
libaoc | ||
libaoc-macros | ||
.gitignore | ||
Cargo.toml | ||
README.md |
README.md
libaoc
A library for writing very rusty AdventOfCode solutions with miette error handling.
Example
fn main() -> libaoc::miette::Result<()> {
libaoc::run_days!(day1)
}
// This could also be a new file with #![...] at the start using nightly rust!
#[libaoc::day(1, "../input/day1.txt")]
mod day1 {
use libaoc::miette::Result;
fn part1() -> Result<()> {
println!("Running part 1. My input is '{}'", INPUT);
Ok(())
}
// This is optional.
fn part2() -> Result<()> {
println!("Running part 2. My input is '{}'", INPUT);
Ok(())
}
}
This gives the output
Running day 1...
--- Part 1 ---
Running part 1. My input is 'day 1 input file here!'
--- Part 2 ---
Running part 2. My input is 'day 1 input file here!'