chore: Switched to WinnowDay

This commit is contained in:
Jan-Bulthuis 2025-12-03 23:16:00 +01:00
parent d08eabf619
commit e3affe980a
2 changed files with 8 additions and 12 deletions

View File

@ -1,4 +1,4 @@
use crate::{AoC, SimpleDay}; use crate::{AoC, WinnowDay};
use winnow::{ use winnow::{
Parser, Result, Parser, Result,
ascii::{digit1, multispace0}, ascii::{digit1, multispace0},
@ -11,13 +11,12 @@ enum Side {
Right(i64), Right(i64),
} }
fn day() -> impl SimpleDay { fn day() -> impl WinnowDay {
AoC::new(parse as _, part1 as _, part2 as _) AoC::new(parse as _, part1 as _, part2 as _)
} }
fn parse(input: String) -> Parsed { fn parse(input: &mut &str) -> Result<Parsed> {
let mut input: &str = input.as_str(); repeat(1.., parse_line).parse_next(input)
repeat(1.., parse_line).parse_next(&mut input).unwrap()
} }
fn parse_line(input: &mut &str) -> Result<Side> { fn parse_line(input: &mut &str) -> Result<Side> {

View File

@ -1,4 +1,4 @@
use crate::{AoC, SimpleDay}; use crate::{AoC, WinnowDay};
use winnow::{ use winnow::{
Parser, Result, Parser, Result,
ascii::digit1, ascii::digit1,
@ -7,15 +7,12 @@ use winnow::{
type Parsed = Vec<(u64, u64)>; type Parsed = Vec<(u64, u64)>;
fn day() -> impl SimpleDay { fn day() -> impl WinnowDay {
AoC::new(parse as _, part1 as _, part2 as _) AoC::new(parse as _, part1 as _, part2 as _)
} }
fn parse(input: String) -> Parsed { fn parse(input: &mut &str) -> Result<Parsed> {
let mut input: &str = input.as_str(); separated(1.., parse_range, ",").parse_next(input)
separated(1.., parse_range, ",")
.parse_next(&mut input)
.unwrap()
} }
fn parse_range(input: &mut &str) -> Result<(u64, u64)> { fn parse_range(input: &mut &str) -> Result<(u64, u64)> {