5 releases (3 breaking)
0.4.1 | Aug 1, 2022 |
---|---|
0.4.0 | Jul 31, 2022 |
0.3.0 | Jul 26, 2022 |
0.2.0 | Jul 26, 2022 |
0.1.0 | Jul 21, 2022 |
#53 in #aoc
Used in aoc-toolbox
8KB
136 lines
csv-export
About
Advent of code tools.
Installation
Import the following packages in your crate:
aoc-toolbox = "0.4"
Usage
Main generation
You can mark solvers in your code:
use aoc_toolbox::aoc_solver;
#[aoc_solver("day01", "part1")]
fn solve_day01_part1(input: String) -> String {
// ...
}
And then at the end of your main.rs
, you can call this macro:
use aoc_toolbox::aoc_main;
aoc_main!(2021);
Limitations
- For the moment, macros do not have context. Their state is not saved between calls (see this issue). I use a hack to save an internal state, so problems can appear...
- Each solver must have the following signature:
fn (input: String) -> String;
Motivation
This tool was intended for my purpose only.
I choosed to release it, so anyone can use it. Enjoy!
Dependencies
~1.5MB
~39K SLoC