      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> {
+@@ -1027,6 +691,7 @@ impl<'a> Formatter<'a> {
          }
      }
  

 use num::flt2dec;
 use ops::Deref;
 use result;
@@ -985,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.

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);
