From 5f6ab7876b40ba086e3eb101bc8d70847f525eda Mon Sep 17 00:00:00 2001
From: Chandler Swift <chandler@chandlerswift.com>
Date: Sat, 8 Feb 2025 22:22:58 -0600
Subject: [PATCH] Run `cargo fmt`

---
 src/main.rs | 87 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 69 insertions(+), 18 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index 056991a..11f7a5e 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,10 +1,10 @@
 #![feature(test)]
 extern crate test;
 
-use std::str::FromStr;
-use std::{env, fmt};
 use std::fmt::Display;
 use std::process::ExitCode;
+use std::str::FromStr;
+use std::{env, fmt};
 
 use rand::seq::IteratorRandom;
 
@@ -38,14 +38,26 @@ impl FromStr for Grid {
     type Err = ParseError;
 
     fn from_str(s: &str) -> Result<Self, Self::Err> {
-        Ok(Grid(s.split('\n').map(|s|s.chars().collect()).collect()))
+        Ok(Grid(s.split('\n').map(|s| s.chars().collect()).collect()))
     }
 }
 
 fn generate_grid() -> Grid {
-    Grid((0..HEIGHT).map(
-        |_| (0..WIDTH).map(|_| SOURCE_CHARS.chars().choose(&mut rand::rng()).unwrap().clone()).collect()
-    ).collect())
+    Grid(
+        (0..HEIGHT)
+            .map(|_| {
+                (0..WIDTH)
+                    .map(|_| {
+                        SOURCE_CHARS
+                            .chars()
+                            .choose(&mut rand::rng())
+                            .unwrap()
+                            .clone()
+                    })
+                    .collect()
+            })
+            .collect(),
+    )
 }
 
 fn count_matches(grid: &Grid) -> usize {
@@ -54,9 +66,18 @@ fn count_matches(grid: &Grid) -> usize {
     // horizontal
     for row in 0..grid.0.len() {
         for col in 0..grid.0[0].len() - len {
-            if STRING.chars().enumerate().all(|(i,c)| grid.0[row][col+i] == c) {
+            if STRING
+                .chars()
+                .enumerate()
+                .all(|(i, c)| grid.0[row][col + i] == c)
+            {
                 count += 1;
-            } else if STRING.chars().rev().enumerate().all(|(i,c)| grid.0[row][col+i] == c) {
+            } else if STRING
+                .chars()
+                .rev()
+                .enumerate()
+                .all(|(i, c)| grid.0[row][col + i] == c)
+            {
                 count += 1;
             }
         }
@@ -64,9 +85,18 @@ fn count_matches(grid: &Grid) -> usize {
     // vertical
     for row in 0..grid.0.len() - len {
         for col in 0..grid.0[0].len() {
-            if STRING.chars().enumerate().all(|(i,c)| grid.0[row+i][col] == c) {
+            if STRING
+                .chars()
+                .enumerate()
+                .all(|(i, c)| grid.0[row + i][col] == c)
+            {
                 count += 1;
-            } else if STRING.chars().rev().enumerate().all(|(i,c)| grid.0[row+i][col] == c) {
+            } else if STRING
+                .chars()
+                .rev()
+                .enumerate()
+                .all(|(i, c)| grid.0[row + i][col] == c)
+            {
                 count += 1;
             }
         }
@@ -74,9 +104,18 @@ fn count_matches(grid: &Grid) -> usize {
     // y = x diagonal
     for row in len..grid.0.len() {
         for col in 0..grid.0[0].len() - len {
-            if STRING.chars().enumerate().all(|(i,c)| grid.0[row-i][col+i] == c) {
+            if STRING
+                .chars()
+                .enumerate()
+                .all(|(i, c)| grid.0[row - i][col + i] == c)
+            {
                 count += 1;
-            } else if STRING.chars().rev().enumerate().all(|(i,c)| grid.0[row-i][col+i] == c) {
+            } else if STRING
+                .chars()
+                .rev()
+                .enumerate()
+                .all(|(i, c)| grid.0[row - i][col + i] == c)
+            {
                 count += 1;
             }
         }
@@ -84,9 +123,18 @@ fn count_matches(grid: &Grid) -> usize {
     // y = -x diagonal
     for row in 0..grid.0.len() - len {
         for col in 0..grid.0[0].len() - len {
-            if STRING.chars().enumerate().all(|(i,c)| grid.0[row+i][col+i] == c) {
+            if STRING
+                .chars()
+                .enumerate()
+                .all(|(i, c)| grid.0[row + i][col + i] == c)
+            {
                 count += 1;
-            } else if STRING.chars().rev().enumerate().all(|(i,c)| grid.0[row+i][col+i] == c) {
+            } else if STRING
+                .chars()
+                .rev()
+                .enumerate()
+                .all(|(i, c)| grid.0[row + i][col + i] == c)
+            {
                 count += 1;
             }
         }
@@ -109,7 +157,10 @@ fn stats(iters: usize) {
 }
 
 fn show_help() {
-    eprintln!("{} <n>: TODO calculate cows in puzzle <n> times and show stats", env::args().nth(0).unwrap())
+    eprintln!(
+        "{} <n>: TODO calculate cows in puzzle <n> times and show stats",
+        env::args().nth(0).unwrap()
+    )
 }
 
 fn main() -> ExitCode {
@@ -120,7 +171,7 @@ fn main() -> ExitCode {
                 Ok(iters) => {
                     stats(iters);
                     ExitCode::SUCCESS
-                },
+                }
                 Err(_) => {
                     eprintln!("Unable to parse iterations");
                     ExitCode::FAILURE
@@ -136,7 +187,7 @@ fn main() -> ExitCode {
             "--help" | "-h" => {
                 show_help();
                 ExitCode::SUCCESS
-            },
+            }
             _ => {
                 show_help();
                 ExitCode::FAILURE
@@ -164,7 +215,7 @@ mod tests {
         for (s, n) in v {
             assert_eq!(count_matches(&s.parse().unwrap()), n)
         }
-   }
+    }
 
     #[bench]
     fn bench_generate_grid(b: &mut Bencher) {