diff --git a/src/pad.rs b/src/pad.rs
index ed15c9d8e34adf8655dee247166e5fff86a2efac..84c833a158465586a4b741bbd99b4e467afe186f 100644
--- a/src/pad.rs
+++ b/src/pad.rs
@@ -3,7 +3,7 @@ use wasm_bindgen::prelude::*;
 
 use crate::warnln;
 
-#[derive(Clone, Copy, PartialEq)]
+#[derive(Clone, Copy, PartialEq, Eq)]
 pub enum PadSelection {
     Action,
     Direction,
diff --git a/src/ppu.rs b/src/ppu.rs
index e576c77022d797dac82d59003d264dae8fe97816..18da17ac6f2b26f76ccd6a8897ca8cf03e471179 100644
--- a/src/ppu.rs
+++ b/src/ppu.rs
@@ -51,7 +51,7 @@ pub type Palette = [Pixel; PALETTE_SIZE];
 /// Represents a tile within the Game Boy context,
 /// should contain the pixel buffer of the tile.
 #[cfg_attr(feature = "wasm", wasm_bindgen)]
-#[derive(Clone, Copy, PartialEq)]
+#[derive(Clone, Copy, PartialEq, Eq)]
 pub struct Tile {
     buffer: [u8; 64],
 }
@@ -100,7 +100,7 @@ impl Display for Tile {
 }
 
 #[cfg_attr(feature = "wasm", wasm_bindgen)]
-#[derive(Clone, Copy, PartialEq)]
+#[derive(Clone, Copy, PartialEq, Eq)]
 pub struct ObjectData {
     x: i16,
     y: i16,
@@ -271,7 +271,7 @@ pub struct Ppu {
 }
 
 #[cfg_attr(feature = "wasm", wasm_bindgen)]
-#[derive(Clone, Copy, PartialEq)]
+#[derive(Clone, Copy, PartialEq, Eq)]
 pub enum PpuMode {
     HBlank = 0,
     VBlank = 1,