--- a/src/numeric.rs
+++ b/src/numeric.rs
@@ -142,6 +142,7 @@
 
     use super::super::prelude::*;
 
+    #[cfg(feature = "num")]
     use num::Float;
 
     #[test]
@@ -219,6 +220,7 @@
     }
 
     #[test]
+    #[cfg(feature = "num")]
     fn is_close_to_should_allow_multiple_borrow_forms() {
         assert_that(&2.0f64).is_close_to(2.0f64, 0.01f64);
         assert_that(&2.0f64).is_close_to(&mut 2.0f64, 0.01f64);
@@ -226,17 +228,20 @@
     }
 
     #[test]
+    #[cfg(feature = "num")]
     fn should_not_panic_if_float_exactly_matches() {
         assert_that(&2.0f64).is_close_to(2.0f64, 0.01f64);
         assert_that(&0f64).is_close_to(0f64, 0.01f64);
     }
 
     #[test]
+    #[cfg(feature = "num")]
     fn should_not_panic_if_float_is_close_to() {
         assert_that(&1e-40f32).is_close_to(0.0f32, 0.1f32);
     }
 
     #[test]
+    #[cfg(feature = "num")]
     #[should_panic(expected = "	expected: float close to <1.0> (tolerance of <0.01>)
 	 but was: <2.0>")]
     fn should_panic_if_float_is_not_close_to() {
@@ -244,6 +249,7 @@
     }
 
     #[test]
+    #[cfg(feature = "num")]
     #[should_panic(expected = "	expected: float close to <1.0> (tolerance of <0.01>)
 	 but was: <NaN>")]
     fn should_panic_if_float_is_nan() {
@@ -251,6 +257,7 @@
     }
 
     #[test]
+    #[cfg(feature = "num")]
     #[should_panic(expected = "	expected: float close to <1.0> (tolerance of <0.01>)
 	 but was: <inf>")]
     fn should_panic_if_float_is_infinity() {
@@ -258,6 +265,7 @@
     }
 
     #[test]
+    #[cfg(feature = "num")]
     #[should_panic(expected = "	expected: float close to <1.0> (tolerance of <0.01>)
 	 but was: <-inf>")]
     fn should_panic_if_float_is_negative_infinity() {
