  // Common code of floating point LowerExp and UpperExp.
  fn float_to_exponential_common<T>(fmt: &mut Formatter, num: &T, upper: bool) -> Result
      where T: flt2dec::DecodableFloat
-@@ -1463,7 +1136,9 @@ macro_rules! floating { ($ty:ident) => {
+@@ -1468,7 +1136,9 @@ macro_rules! floating { ($ty:ident) => {
          }
      }
  } }

 use {f32, f64};
 use num::{Float, FpCategory};
 
@@ -60,9 +61,11 @@
     fn min_pos_norm_value() -> Self;
 }
 
+#[cfg(not(disable_float))]
 impl DecodableFloat for f32 {
     fn min_pos_norm_value() -> Self { f32::MIN_POSITIVE }

 use num::flt2dec;
 use ops::Deref;
 use result;
@@ -991,6 +654,7 @@ impl<'a> Formatter<'a> {
     /// Takes the formatted parts and applies the padding.
     /// Assumes that the caller already has rendered the parts with required precision,
     /// so that `self.precision` can be ignored.
