If you want to do the two days in one like in your code:
fn offset_sum(s: &str, day1: bool) -> u32 {
fn get_sum(s: &str, offset: usize) -> u32 {
s.chars()
.zip(s.chars().cycle().skip(offset))
.filter(|&(a, b)| a == b)
.filter_map(|(a, _)| a.to_digit(10))
.sum()
}
let offset = if day1 { 1 } else { s.len() / 2 };
get_sum(s, offset)
}
fn main() {
let input = include_str!("input.txt");
println!("day 1: {}", offset_sum(input, true));
println!("day 2: {}", offset_sum(input, false));
}