std: Stabilize std::fmt

This commit applies the stabilization of std::fmt as outlined in [RFC 380][rfc].
There are a number of breaking changes as a part of this commit which will need
to be handled to migrated old code:

* A number of formatting traits have been removed: String, Bool, Char, Unsigned,
  Signed, and Float. It is recommended to instead use Show wherever possible or
  to use adaptor structs to implement other methods of formatting.

* The format specifier for Boolean has changed from `t` to `b`.

* The enum `FormatError` has been renamed to `Error` as well as becoming a unit
  struct instead of an enum. The `WriteError` variant no longer exists.

* The `format_args_method!` macro has been removed with no replacement. Alter
  code to use the `format_args!` macro instead.

* The public fields of a `Formatter` have become read-only with no replacement.
  Use a new formatting string to alter the formatting flags in combination with
  the `write!` macro. The fields can be accessed through accessor methods on the
  `Formatter` structure.

Other than these breaking changes, the contents of std::fmt should now also all
contain stability markers. Most of them are still #[unstable] or #[experimental]

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0380-stabilize-std-fmt.md
[breaking-change]

Closes #18904
This commit is contained in:
Alex Crichton
2014-11-17 11:29:38 -08:00
parent e09d98603e
commit 4af3494bb0
48 changed files with 291 additions and 347 deletions

View File

@@ -687,14 +687,14 @@ impl<T: Writer> ConsoleTestState<T> {
improved += 1;
try!(self.write_plain(format!(": {}", *k).as_slice()));
try!(self.write_improved());
try!(self.write_plain(format!(" by {:.2f}%\n",
try!(self.write_plain(format!(" by {:.2}%\n",
pct as f64).as_slice()));
}
Regression(pct) => {
regressed += 1;
try!(self.write_plain(format!(": {}", *k).as_slice()));
try!(self.write_regressed());
try!(self.write_plain(format!(" by {:.2f}%\n",
try!(self.write_plain(format!(" by {:.2}%\n",
pct as f64).as_slice()));
}
}