refactor(lint): clippy
This commit is contained in:
parent
00000260bf
commit
00000270c2
|
@ -8,7 +8,7 @@ pub fn part_two(input: &str) -> Option<u32> {
|
|||
match c {
|
||||
'(' => floor += 1,
|
||||
')' => floor -= 1,
|
||||
_ => panic!("oops {}", c),
|
||||
_ => panic!("oops {c}"),
|
||||
};
|
||||
|
||||
if floor < 0 {
|
||||
|
|
|
@ -14,7 +14,7 @@ fn allowed_password(password: &str) -> bool {
|
|||
if password
|
||||
.chars()
|
||||
.tuple_windows()
|
||||
.map(|(a, b, c)| ASCII_LOWERCASE.contains(&format!("{}{}{}", a, b, c)))
|
||||
.map(|(a, b, c)| ASCII_LOWERCASE.contains(&format!("{a}{b}{c}")))
|
||||
.filter(|&y| y)
|
||||
.count()
|
||||
== 0
|
||||
|
@ -24,7 +24,7 @@ fn allowed_password(password: &str) -> bool {
|
|||
|
||||
if ASCII_LOWERCASE
|
||||
.chars()
|
||||
.map(|a| password.contains(&format!("{}{}", a, a)))
|
||||
.map(|a| password.contains(&format!("{a}{a}")))
|
||||
.filter(|&y| y)
|
||||
.count()
|
||||
< 2
|
||||
|
@ -107,11 +107,11 @@ mod tests {
|
|||
#[test]
|
||||
fn test_part_one() {
|
||||
let input = aoc::read_file("test_inputs", 11);
|
||||
assert_eq!(part_one(&input.trim()), Some("ghjaabcc".to_string()));
|
||||
assert_eq!(part_one(input.trim()), Some("ghjaabcc".to_string()));
|
||||
}
|
||||
#[test]
|
||||
fn test_part_two() {
|
||||
let input = aoc::read_file("test_inputs", 11);
|
||||
assert_eq!(part_two(&input.trim()), Some("ghjbbcdd".to_string()));
|
||||
assert_eq!(part_two(input.trim()), Some("ghjbbcdd".to_string()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,11 +37,11 @@ mod tests {
|
|||
#[test]
|
||||
fn test_part_one() {
|
||||
let input = aoc::read_file("test_inputs", 12);
|
||||
assert_eq!(part_one(&input.trim()), Some(15));
|
||||
assert_eq!(part_one(input.trim()), Some(15));
|
||||
}
|
||||
#[test]
|
||||
fn test_part_two() {
|
||||
let input = aoc::read_file("test_inputs", 12);
|
||||
assert_eq!(part_two(&input.trim()), Some(0));
|
||||
assert_eq!(part_two(input.trim()), Some(0));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -87,11 +87,11 @@ mod tests {
|
|||
#[test]
|
||||
fn test_part_one() {
|
||||
let input = aoc::read_file("test_inputs", 13);
|
||||
assert_eq!(part_one(&input.trim()), Some(330));
|
||||
assert_eq!(part_one(input.trim()), Some(330));
|
||||
}
|
||||
#[test]
|
||||
fn test_part_two() {
|
||||
let input = aoc::read_file("test_inputs", 13);
|
||||
assert_eq!(part_two(&input.trim()), Some(286));
|
||||
assert_eq!(part_two(input.trim()), Some(286));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,7 +46,7 @@ impl From<&str> for Reindeer {
|
|||
pub fn part_one(input: &str) -> Option<u32> {
|
||||
input
|
||||
.split('\n')
|
||||
.map(|x| Reindeer::from(x))
|
||||
.map(Reindeer::from)
|
||||
.map(|y| {
|
||||
((DISTANCE / y.cycle()) * y.duration
|
||||
+ vec![DISTANCE % y.cycle(), y.duration].iter().min().unwrap())
|
||||
|
@ -71,7 +71,7 @@ impl Scoreboard {
|
|||
}
|
||||
|
||||
pub fn part_two(input: &str) -> Option<u32> {
|
||||
let reindeers = input.split('\n').map(|x| Reindeer::from(x)).collect_vec();
|
||||
let reindeers = input.split('\n').map(Reindeer::from).collect_vec();
|
||||
let mut scoreboards = vec![Scoreboard::empty(); reindeers.len()];
|
||||
|
||||
for traveled in 0..DISTANCE {
|
||||
|
@ -108,11 +108,11 @@ mod tests {
|
|||
#[test]
|
||||
fn test_part_one() {
|
||||
let input = aoc::read_file("test_inputs", 14);
|
||||
assert_eq!(part_one(&input.trim()), Some(1120));
|
||||
assert_eq!(part_one(input.trim()), Some(1120));
|
||||
}
|
||||
#[test]
|
||||
fn test_part_two() {
|
||||
let input = aoc::read_file("test_inputs", 14);
|
||||
assert_eq!(part_two(&input.trim()), None);
|
||||
assert_eq!(part_two(input.trim()), None);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ fn main() {
|
|||
};
|
||||
dotenv().ok();
|
||||
|
||||
let day_padded = format!("{:02}", day);
|
||||
let day_padded = format!("{day:02}");
|
||||
let token = env::var("TOKEN").expect("$TOKEN is not set");
|
||||
let year = env::var("YEAR")
|
||||
.expect("$YEAR is not set")
|
||||
|
@ -21,7 +21,7 @@ fn main() {
|
|||
.expect("$YEAR must be a number");
|
||||
|
||||
let mut headers = header::HeaderMap::new();
|
||||
let mut session_header = header::HeaderValue::from_str(format!("session={}", token).as_str())
|
||||
let mut session_header = header::HeaderValue::from_str(format!("session={token}").as_str())
|
||||
.expect("Error building cookie header");
|
||||
session_header.set_sensitive(true);
|
||||
headers.insert(header::COOKIE, session_header);
|
||||
|
@ -29,15 +29,14 @@ fn main() {
|
|||
let client = Client::builder().default_headers(headers).build().unwrap();
|
||||
let res = client
|
||||
.get(format!(
|
||||
"https://adventofcode.com/{}/day/{}/input",
|
||||
year, day
|
||||
"https://adventofcode.com/{year}/day/{day}/input"
|
||||
))
|
||||
.send()
|
||||
.unwrap()
|
||||
.text()
|
||||
.unwrap();
|
||||
|
||||
let input_path = format!("src/inputs/{}.txt", day_padded);
|
||||
let input_path = format!("src/inputs/{day_padded}.txt");
|
||||
let mut file = match OpenOptions::new()
|
||||
.write(true)
|
||||
.create(true)
|
||||
|
@ -45,7 +44,7 @@ fn main() {
|
|||
{
|
||||
Ok(file) => file,
|
||||
Err(e) => {
|
||||
eprintln!("Failed to create module file: {}", e);
|
||||
eprintln!("Failed to create module file: {e}");
|
||||
process::exit(1);
|
||||
}
|
||||
};
|
||||
|
@ -55,7 +54,7 @@ fn main() {
|
|||
println!("Downloaded input file \"{}\"", &input_path);
|
||||
}
|
||||
Err(e) => {
|
||||
eprintln!("Failed to write module contents: {}", e);
|
||||
eprintln!("Failed to write module contents: {e}");
|
||||
process::exit(1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,16 +52,16 @@ fn main() {
|
|||
}
|
||||
};
|
||||
|
||||
let day_padded = format!("{:02}", day);
|
||||
let day_padded = format!("{day:02}");
|
||||
|
||||
let input_path = format!("src/inputs/{}.txt", day_padded);
|
||||
let example_path = format!("src/test_inputs/{}.txt", day_padded);
|
||||
let module_path = format!("src/bin/{}.rs", day_padded);
|
||||
let input_path = format!("src/inputs/{day_padded}.txt");
|
||||
let example_path = format!("src/test_inputs/{day_padded}.txt");
|
||||
let module_path = format!("src/bin/{day_padded}.rs");
|
||||
|
||||
let mut file = match safe_create_file(&module_path) {
|
||||
Ok(file) => file,
|
||||
Err(e) => {
|
||||
eprintln!("Failed to create module file: {}", e);
|
||||
eprintln!("Failed to create module file: {e}");
|
||||
process::exit(1);
|
||||
}
|
||||
};
|
||||
|
@ -71,7 +71,7 @@ fn main() {
|
|||
println!("Created module file \"{}\"", &module_path);
|
||||
}
|
||||
Err(e) => {
|
||||
eprintln!("Failed to write module contents: {}", e);
|
||||
eprintln!("Failed to write module contents: {e}");
|
||||
process::exit(1);
|
||||
}
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ fn main() {
|
|||
println!("Created empty input file \"{}\"", &input_path);
|
||||
}
|
||||
Err(e) => {
|
||||
eprintln!("Failed to create input file: {}", e);
|
||||
eprintln!("Failed to create input file: {e}");
|
||||
process::exit(1);
|
||||
}
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ fn main() {
|
|||
println!("Created empty example file \"{}\"", &example_path);
|
||||
}
|
||||
Err(e) => {
|
||||
eprintln!("Failed to create example file: {}", e);
|
||||
eprintln!("Failed to create example file: {e}");
|
||||
process::exit(1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ macro_rules! solve {
|
|||
pub fn read_file(folder: &str, day: u8) -> String {
|
||||
let cwd = env::current_dir().unwrap();
|
||||
|
||||
let filepath = cwd.join("src").join(folder).join(format!("{:02}.txt", day));
|
||||
let filepath = cwd.join("src").join(folder).join(format!("{day:02}.txt"));
|
||||
|
||||
let f = fs::read_to_string(filepath);
|
||||
f.expect("could not open input file")
|
||||
|
@ -104,8 +104,7 @@ mod tests {
|
|||
fn test_parse_exec_time() {
|
||||
assert_approx_eq!(
|
||||
parse_exec_time(&format!(
|
||||
"🎄 Part 1 🎄\n0 (elapsed: 74.13ns){}\n🎄 Part 2 🎄\n0 (elapsed: 50.00ns){}",
|
||||
ANSI_RESET, ANSI_RESET
|
||||
"🎄 Part 1 🎄\n0 (elapsed: 74.13ns){ANSI_RESET}\n🎄 Part 2 🎄\n0 (elapsed: 50.00ns){ANSI_RESET}"
|
||||
)),
|
||||
0_f64
|
||||
);
|
||||
|
|
|
@ -8,7 +8,7 @@ use std::process::Command;
|
|||
fn main() {
|
||||
let total: f64 = (1..=25)
|
||||
.map(|day| {
|
||||
let day = format!("{:02}", day);
|
||||
let day = format!("{day:02}");
|
||||
|
||||
let cmd = Command::new("cargo")
|
||||
.args(["run", "--release", "--bin", &day])
|
||||
|
@ -16,7 +16,7 @@ fn main() {
|
|||
.unwrap();
|
||||
|
||||
println!("----------");
|
||||
println!("{}| Day {} |{}", ANSI_BOLD, day, ANSI_RESET);
|
||||
println!("{ANSI_BOLD}| Day {day} |{ANSI_RESET}");
|
||||
println!("----------");
|
||||
|
||||
let output = String::from_utf8(cmd.stdout).unwrap();
|
||||
|
@ -40,7 +40,6 @@ fn main() {
|
|||
.sum();
|
||||
|
||||
println!(
|
||||
"{}Total:{} {}{:.2}ms{}",
|
||||
ANSI_BOLD, ANSI_RESET, ANSI_ITALIC, total, ANSI_RESET
|
||||
"{ANSI_BOLD}Total:{ANSI_RESET} {ANSI_ITALIC}{total:.2}ms{ANSI_RESET}"
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue