diff --git a/Cargo.lock b/Cargo.lock index 229bd95..3822a55 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2375,7 +2375,7 @@ checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" [[package]] name = "hexlab" -version = "0.5.1" +version = "0.5.2" dependencies = [ "bevy", "bevy_reflect", diff --git a/Cargo.toml b/Cargo.toml index 86a75b7..6a4368e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hexlab" authors = ["Kristofers Solo "] -version = "0.5.1" +version = "0.5.2" edition = "2021" description = "A hexagonal maze generation and manipulation library" repository = "https://github.com/kristoferssolo/hexlab" diff --git a/src/generator/backtrack.rs b/src/generator/backtrack.rs index 79b98c6..1f3c0d1 100644 --- a/src/generator/backtrack.rs +++ b/src/generator/backtrack.rs @@ -100,7 +100,7 @@ mod test { for dir in EdgeDirection::ALL_DIRECTIONS { let neighbor = current + dir; if let Some(walls) = maze.get_walls(¤t) { - if !walls.contains(&dir) && maze.get(&neighbor).is_some() { + if !walls.contains(dir) && maze.get(&neighbor).is_some() { to_visit.push(neighbor); } } diff --git a/src/lib.rs b/src/lib.rs index 4da28a6..25348f7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -45,8 +45,8 @@ //! //! let mut walls = Walls::empty(); //! assert!(!walls.insert(EdgeDirection::FLAT_NORTH)); -//! assert!(walls.contains(&EdgeDirection::FLAT_NORTH)); -//! assert!(!walls.contains(&EdgeDirection::FLAT_SOUTH)); +//! assert!(walls.contains(EdgeDirection::FLAT_NORTH)); +//! assert!(!walls.contains(EdgeDirection::FLAT_SOUTH)); //!``` mod builder; pub mod errors; diff --git a/src/maze.rs b/src/maze.rs index 851e1a4..6510f05 100644 --- a/src/maze.rs +++ b/src/maze.rs @@ -149,7 +149,7 @@ impl Maze { /// /// maze.add_tile_wall(&coord, EdgeDirection::FLAT_NORTH); /// let walls = maze.get_walls(&coord).unwrap(); - /// assert!(walls.contains(&EdgeDirection::FLAT_NORTH)); + /// assert!(walls.contains(EdgeDirection::FLAT_NORTH)); /// ``` #[inline] #[must_use] @@ -252,7 +252,7 @@ impl Maze { /// /// // Check that the wall was added /// let walls = maze.get_walls(&Hex::ZERO).unwrap(); - /// assert!(walls.contains(&EdgeDirection::FLAT_NORTH)); + /// assert!(walls.contains(EdgeDirection::FLAT_NORTH)); /// assert_eq!(walls.count(), 1); /// /// // Adding the same wall again should return true (no change) @@ -300,7 +300,7 @@ impl Maze { /// maze.remove_tile_wall(&coord, EdgeDirection::FLAT_NORTH); /// /// let walls = maze.get_walls(&coord).unwrap(); - /// assert!(!walls.contains(&EdgeDirection::FLAT_NORTH)); + /// assert!(!walls.contains(EdgeDirection::FLAT_NORTH)); /// ``` pub fn remove_tile_wall( &mut self, diff --git a/src/walls.rs b/src/walls.rs index 9980187..cbfd160 100644 --- a/src/walls.rs +++ b/src/walls.rs @@ -115,7 +115,7 @@ impl Walls { #[inline] pub fn insert(&mut self, direction: T) -> bool where - T: Into + Copy, + T: Into, { let mask = direction.into().0; let was_present = self.0 & mask != 0; @@ -152,7 +152,7 @@ impl Walls { #[inline] pub fn remove(&mut self, direction: T) -> bool where - T: Into + Copy, + T: Into, { let mask = direction.into().0; let was_present = self.0 & mask != 0; @@ -174,13 +174,13 @@ impl Walls { /// let mut walls = Walls::empty(); /// walls.insert(EdgeDirection::FLAT_NORTH); /// - /// assert!(walls.contains(&EdgeDirection::FLAT_NORTH)); - /// assert!(!walls.contains(&EdgeDirection::FLAT_SOUTH)); + /// assert!(walls.contains(EdgeDirection::FLAT_NORTH)); + /// assert!(!walls.contains(EdgeDirection::FLAT_SOUTH)); /// ``` #[inline] pub fn contains(&self, direction: T) -> bool where - T: Into + Copy, + T: Into, { self.0 & direction.into().0 != 0 } @@ -319,7 +319,7 @@ impl Walls { /// let mut walls = Walls::empty(); /// walls.fill([EdgeDirection::FLAT_NORTH ,EdgeDirection::FLAT_SOUTH, EdgeDirection::FLAT_SOUTH_EAST]); /// - /// assert!(walls.contains(&EdgeDirection::FLAT_SOUTH)); + /// assert!(walls.contains(EdgeDirection::FLAT_SOUTH)); /// assert_eq!(walls.count(), 3); /// ``` #[inline] @@ -427,7 +427,7 @@ mod test { fn insert_single_wall() { let mut walls = Walls::empty(); walls.insert(EdgeDirection::FLAT_NORTH); - assert!(walls.contains(&EdgeDirection::FLAT_NORTH)); + assert!(walls.contains(EdgeDirection::FLAT_NORTH)); assert_eq!(walls.count(), 1); } @@ -436,7 +436,7 @@ mod test { fn remove_existing_wall() { let mut walls = Walls::new(); assert!(walls.remove(EdgeDirection::FLAT_NORTH)); - assert!(!walls.contains(&EdgeDirection::FLAT_NORTH)); + assert!(!walls.contains(EdgeDirection::FLAT_NORTH)); } #[test] @@ -452,14 +452,14 @@ mod test { fn toggle_wall() { let mut walls = Walls::empty(); assert!(!walls.toggle(EdgeDirection::FLAT_NORTH)); - assert!(walls.contains(&EdgeDirection::FLAT_NORTH)); + assert!(walls.contains(EdgeDirection::FLAT_NORTH)); } #[test] fn toggle_removes_wall() { let mut walls = Walls::new(); assert!(walls.toggle(EdgeDirection::FLAT_NORTH)); - assert!(!walls.contains(&EdgeDirection::FLAT_NORTH)); + assert!(!walls.contains(EdgeDirection::FLAT_NORTH)); } // fill @@ -467,8 +467,8 @@ mod test { fn fill_adds_multiple_walls() { let mut walls = Walls::empty(); walls.fill([EdgeDirection::FLAT_NORTH, EdgeDirection::FLAT_SOUTH]); - assert!(walls.contains(&EdgeDirection::FLAT_NORTH)); - assert!(walls.contains(&EdgeDirection::FLAT_SOUTH)); + assert!(walls.contains(EdgeDirection::FLAT_NORTH)); + assert!(walls.contains(EdgeDirection::FLAT_SOUTH)); assert_eq!(walls.count(), 2); } @@ -477,31 +477,31 @@ mod test { let mut walls = Walls::empty(); walls.insert(EdgeDirection::FLAT_NORTH); walls.fill([EdgeDirection::FLAT_SOUTH, EdgeDirection::FLAT_SOUTH_EAST]); - assert!(walls.contains(&EdgeDirection::FLAT_NORTH)); - assert!(walls.contains(&EdgeDirection::FLAT_SOUTH)); - assert!(walls.contains(&EdgeDirection::FLAT_SOUTH_EAST)); + assert!(walls.contains(EdgeDirection::FLAT_NORTH)); + assert!(walls.contains(EdgeDirection::FLAT_SOUTH)); + assert!(walls.contains(EdgeDirection::FLAT_SOUTH_EAST)); assert_eq!(walls.count(), 3); } #[test] fn from_edge_direction_conversion() { let walls: Walls = EdgeDirection::FLAT_NORTH.into(); - assert!(walls.contains(&EdgeDirection::FLAT_NORTH)); + assert!(walls.contains(EdgeDirection::FLAT_NORTH)); assert_eq!(walls.count(), 1); } #[test] fn from_u8_conversion() { let walls: Walls = 0u8.into(); - assert!(walls.contains(&EdgeDirection::FLAT_SOUTH_EAST)); + assert!(walls.contains(EdgeDirection::FLAT_SOUTH_EAST)); assert_eq!(walls.count(), 1); } #[test] fn from_array_conversion() { let walls: Walls = [EdgeDirection::FLAT_NORTH, EdgeDirection::FLAT_SOUTH].into(); - assert!(walls.contains(&EdgeDirection::FLAT_NORTH)); - assert!(walls.contains(&EdgeDirection::FLAT_SOUTH)); + assert!(walls.contains(EdgeDirection::FLAT_NORTH)); + assert!(walls.contains(EdgeDirection::FLAT_SOUTH)); assert_eq!(walls.count(), 2); } @@ -532,8 +532,8 @@ mod test { ]; let walls: Walls = directions.into_iter().collect(); assert_eq!(walls.count(), 2); - assert!(walls.contains(&EdgeDirection::FLAT_NORTH)); - assert!(walls.contains(&EdgeDirection::FLAT_SOUTH)); + assert!(walls.contains(EdgeDirection::FLAT_NORTH)); + assert!(walls.contains(EdgeDirection::FLAT_SOUTH)); } #[test] diff --git a/tests/builder.rs b/tests/builder.rs index c1920f0..d26aa3c 100644 --- a/tests/builder.rs +++ b/tests/builder.rs @@ -73,7 +73,7 @@ fn maze_connectivity() { .filter(|&&dir| { let neighbor = pos + dir; if let Some(walls) = maze.get_walls(&pos) { - !walls.contains(&dir) && maze.get(&neighbor).is_some() + !walls.contains(dir) && maze.get(&neighbor).is_some() } else { false } diff --git a/tests/generator.rs b/tests/generator.rs index babf64a..25f2190 100644 --- a/tests/generator.rs +++ b/tests/generator.rs @@ -36,7 +36,7 @@ fn generator_type( for dir in EdgeDirection::ALL_DIRECTIONS { let neighbor = current + dir; if let Some(walls) = maze.get_walls(¤t) { - if !walls.contains(&dir) && maze.get(&neighbor).is_some() { + if !walls.contains(dir) && maze.get(&neighbor).is_some() { to_visit.push(neighbor); } }