diff --git a/lib/rs/src/protocol/binary.rs b/lib/rs/src/protocol/binary.rs
index 5da8018..b4b51f6 100644
--- a/lib/rs/src/protocol/binary.rs
+++ b/lib/rs/src/protocol/binary.rs
@@ -59,7 +59,7 @@
     pub transport: T, // FIXME: shouldn't be public
 }
 
-impl<'a, T> TBinaryInputProtocol<T>
+impl<T> TBinaryInputProtocol<T>
 where
     T: TReadTransport,
 {
@@ -861,7 +861,7 @@
         set_readable_bytes!(i_prot, &[0x01]);
 
         let read_bool = assert_success!(i_prot.read_bool());
-        assert_eq!(read_bool, true);
+        assert!(read_bool);
     }
 
     #[test]
@@ -871,7 +871,7 @@
         set_readable_bytes!(i_prot, &[0x00]);
 
         let read_bool = assert_success!(i_prot.read_bool());
-        assert_eq!(read_bool, false);
+        assert!(!read_bool);
     }
 
     #[test]
@@ -881,7 +881,7 @@
         set_readable_bytes!(i_prot, &[0xAC]);
 
         let read_bool = assert_success!(i_prot.read_bool());
-        assert_eq!(read_bool, true);
+        assert!(read_bool);
     }
 
     #[test]
diff --git a/lib/rs/src/protocol/compact.rs b/lib/rs/src/protocol/compact.rs
index a1aa253..c0c4372 100644
--- a/lib/rs/src/protocol/compact.rs
+++ b/lib/rs/src/protocol/compact.rs
@@ -2461,7 +2461,7 @@
             }
         );
         let read_value_1 = assert_success!(i_prot.read_bool());
-        assert_eq!(read_value_1, true);
+        assert!(read_value_1);
         assert_success!(i_prot.read_field_end());
 
         let read_ident_2 = assert_success!(i_prot.read_field_begin());
@@ -2473,7 +2473,7 @@
             }
         );
         let read_value_2 = assert_success!(i_prot.read_bool());
-        assert_eq!(read_value_2, false);
+        assert!(!read_value_2);
         assert_success!(i_prot.read_field_end());
 
         let read_ident_3 = assert_success!(i_prot.read_field_begin());
@@ -2485,7 +2485,7 @@
             }
         );
         let read_value_3 = assert_success!(i_prot.read_bool());
-        assert_eq!(read_value_3, true);
+        assert!(read_value_3);
         assert_success!(i_prot.read_field_end());
 
         let read_ident_4 = assert_success!(i_prot.read_field_begin());
@@ -2497,7 +2497,7 @@
             }
         );
         let read_value_4 = assert_success!(i_prot.read_bool());
-        assert_eq!(read_value_4, false);
+        assert!(!read_value_4);
         assert_success!(i_prot.read_field_end());
 
         let read_ident_5 = assert_success!(i_prot.read_field_begin());
@@ -2774,16 +2774,16 @@
         assert_eq!(&rcvd_ident, &map_ident);
         // key 1
         let b = assert_success!(i_prot.read_bool());
-        assert_eq!(b, true);
+        assert!(b);
         // val 1
         let b = assert_success!(i_prot.read_bool());
-        assert_eq!(b, false);
+        assert!(!b);
         // key 2
         let b = assert_success!(i_prot.read_bool());
-        assert_eq!(b, false);
+        assert!(!b);
         // val 2
         let b = assert_success!(i_prot.read_bool());
-        assert_eq!(b, true);
+        assert!(b);
         // map end
         assert_success!(i_prot.read_map_end());
     }
