  // Common code of floating point Debug and Display.
  fn float_to_decimal_common<T>(fmt: &mut Formatter, num: &T, negative_zero: bool) -> Result
      where T: flt2dec::DecodableFloat
-@@ -1410,6 +1082,7 @@ fn float_to_decimal_common<T>(fmt: &mut Formatter, num: &T, negative_zero: bool)
+@@ -1415,6 +1082,7 @@ fn float_to_decimal_common<T>(fmt: &mut Formatter, num: &T, negative_zero: bool)
      fmt.pad_formatted_parts(&formatted)
  }
  

     fn pad_formatted_parts(&mut self, formatted: &flt2dec::Formatted) -> Result {
         if let Some(mut width) = self.width {
             // for the sign-aware zero padding, we render the sign first and
@@ -1021,6 +691,7 @@ impl<'a> Formatter<'a> {
         }
     }
 

diff -ru libcore/intrinsics.rs libcore_patched/intrinsics.rs
--- libcore/intrinsics.rs	2015-07-02 13:02:27.891621659 +0800
+++ libcore_patched/intrinsics.rs	2015-07-02 13:02:04.780163524 +0800
@@ -393,7 +392,10 @@
     pub fn volatile_load<T>(src: *const T) -> T;
     /// Perform a volatile store to the `dst` pointer.
     pub fn volatile_store<T>(dst: *mut T, val: T);
