Trying to do advent of code in Rust. I am very new to rust so please help if you see me doing something stupid!!

Merge branch 'main' of tangled.org:goose.art/aoc2025

goose.art db903cd1 7e8f6ed0

verified
Changed files
+25 -23
day8
+23
day8/src/circuit.rs
··· 1 + use crate::Point; 2 + use std::fmt::Debug; 3 + 4 + #[derive(Clone, Hash, PartialEq, Eq)] 5 + pub struct Circuit { 6 + nodes: Vec<Point>, 7 + size: usize, 8 + } 9 + 10 + impl Circuit { 11 + pub fn contains_point(&self, point: &Point) -> bool { 12 + self.nodes.contains(point) 13 + } 14 + } 15 + impl Debug for Circuit { 16 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 17 + writeln!(f, "Circuit {{ "); 18 + for node in &self.nodes { 19 + writeln!(f, "{:?}, ", node)?; 20 + } 21 + writeln!(f, "size: {} }} ", self.size) 22 + } 23 + }
+2 -23
day8/src/main.rs
··· 1 1 use itertools::Itertools; 2 2 use memoize::memoize; 3 3 use std::fmt::Debug; 4 - // use std::fs; 4 + mod circuit; 5 + use circuit::Circuit; 5 6 6 7 #[derive(Debug, Clone, Hash, PartialEq, Eq, Copy)] 7 8 struct Point { 8 9 x: u64, 9 10 y: u64, 10 11 z: u64, 11 - } 12 - 13 - #[derive(Clone, Hash, PartialEq, Eq)] 14 - struct Circuit { 15 - nodes: Vec<Point>, 16 - size: usize, 17 - } 18 - 19 - impl Circuit { 20 - fn contains_point(&self, point: &Point) -> bool { 21 - self.nodes.contains(point) 22 - } 23 12 } 24 13 25 14 impl Point { ··· 51 40 + (a.y as i64 - b.y as i64).pow(2) 52 41 + (a.z as i64 - b.z as i64).pow(2)) 53 42 .isqrt() as u32 54 - } 55 - 56 - impl Debug for Circuit { 57 - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 58 - writeln!(f, "Circuit {{ "); 59 - for node in &self.nodes { 60 - writeln!(f, "{:?}, ", node)?; 61 - } 62 - writeln!(f, "size: {} }} ", self.size) 63 - } 64 43 } 65 44 66 45 fn main() {