Add missing link in fmt::format function

This commit is contained in:
Guillaume Gomez 2017-08-11 13:46:12 +02:00
parent e5938ef3c4
commit f0fb7ab0e7
2 changed files with 24 additions and 22 deletions

View File

@ -149,7 +149,7 @@
//! //!
//! Additionally, the return value of this function is [`fmt::Result`] which is a //! Additionally, the return value of this function is [`fmt::Result`] which is a
//! type alias of [`Result`]`<(), `[`std::fmt::Error`]`>`. Formatting implementations //! type alias of [`Result`]`<(), `[`std::fmt::Error`]`>`. Formatting implementations
//! should ensure that they propagate errors from the [`Formatter`] (e.g., when //! should ensure that they propagate errors from the [`Formatter`][`Formatter`] (e.g., when
//! calling [`write!`]) however, they should never return errors spuriously. That //! calling [`write!`]) however, they should never return errors spuriously. That
//! is, a formatting implementation must and may only return an error if the //! is, a formatting implementation must and may only return an error if the
//! passed-in [`Formatter`] returns an error. This is because, contrary to what //! passed-in [`Formatter`] returns an error. This is because, contrary to what
@ -209,7 +209,7 @@
//! //!
//! These two formatting traits have distinct purposes: //! These two formatting traits have distinct purposes:
//! //!
//! - [`fmt::Display`][`Display] implementations assert that the type can be faithfully //! - [`fmt::Display`][`Display`] implementations assert that the type can be faithfully
//! represented as a UTF-8 string at all times. It is **not** expected that //! represented as a UTF-8 string at all times. It is **not** expected that
//! all types implement the `Display` trait. //! all types implement the `Display` trait.
//! - [`fmt::Debug`][`Debug`] implementations should be implemented for **all** public types. //! - [`fmt::Debug`][`Debug`] implementations should be implemented for **all** public types.
@ -357,7 +357,7 @@
//! * `-` - Currently not used //! * `-` - Currently not used
//! * `#` - This flag is indicates that the "alternate" form of printing should //! * `#` - This flag is indicates that the "alternate" form of printing should
//! be used. The alternate forms are: //! be used. The alternate forms are:
//! * `#?` - pretty-print the `Debug` formatting //! * `#?` - pretty-print the [`Debug`] formatting
//! * `#x` - precedes the argument with a `0x` //! * `#x` - precedes the argument with a `0x`
//! * `#X` - precedes the argument with a `0x` //! * `#X` - precedes the argument with a `0x`
//! * `#b` - precedes the argument with a `0b` //! * `#b` - precedes the argument with a `0b`
@ -475,25 +475,25 @@
//! them with the same character. For example, the `{` character is escaped with //! them with the same character. For example, the `{` character is escaped with
//! `{{` and the `}` character is escaped with `}}`. //! `{{` and the `}` character is escaped with `}}`.
//! //!
//! [`format!`]: ../macro.format.html //! [`format!`]: ../../macro.format.html
//! [`usize`]: ../primitive.usize.html //! [`usize`]: ../../std/primitive.usize.html
//! [`isize`]: ../primitive.isize.html //! [`isize`]: ../../std/primitive.isize.html
//! [`i8`]: ../primitive.i8.html //! [`i8`]: ../../std/primitive.i8.html
//! [`Display`]: trait.Display.html //! [`Display`]: trait.Display.html
//! [`Binary`]: trait.Binary.html //! [`Binary`]: trait.Binary.html
//! [`fmt::Result`]: type.Result.html //! [`fmt::Result`]: type.Result.html
//! [`Result`]: ../result/enum.Result.html //! [`Result`]: ../../std/result/enum.Result.html
//! [`std::fmt::Error`]: struct.Error.html //! [`std::fmt::Error`]: struct.Error.html
//! [`Formatter`]: struct.Formatter.html //! [`Formatter`]: struct.Formatter.html
//! [`write!`]: ../macro.write.html //! [`write!`]: ../../std/macro.write.html
//! [`Debug`]: trait.Debug.html //! [`Debug`]: trait.Debug.html
//! [`format!`]: ../macro.format.html //! [`format!`]: ../../std/macro.format.html
//! [`writeln!`]: ../macro.writeln.html //! [`writeln!`]: ../../std/macro.writeln.html
//! [`write_fmt`]: ../io/trait.Write.html#method.write_fmt //! [`write_fmt`]: ../../std/io/trait.Write.html#method.write_fmt
//! [`std::io::Write`]: ../io/trait.Write.html //! [`std::io::Write`]: ../../std/io/trait.Write.html
//! [`println!`]: ../macro.println.html //! [`println!`]: ../../std/macro.println.html
//! [`write!`]: ../macro.write.html //! [`write!`]: ../../std/macro.write.html
//! [`format_args!`]: ../macro.format_args.html //! [`format_args!`]: ../../std/macro.format_args.html
//! [`fmt::Arguments`]: struct.Arguments.html //! [`fmt::Arguments`]: struct.Arguments.html
//! [`write`]: fn.write.html //! [`write`]: fn.write.html
//! [`format`]: fn.format.html //! [`format`]: fn.format.html
@ -521,10 +521,10 @@ pub use core::fmt::{DebugList, DebugMap, DebugSet, DebugStruct, DebugTuple};
use string; use string;
/// The `format` function takes an `Arguments` struct and returns the resulting /// The `format` function takes an [`Arguments`] struct and returns the resulting
/// formatted string. /// formatted string.
/// ///
/// The `Arguments` instance can be created with the `format_args!` macro. /// The [`Arguments`] instance can be created with the [`format_args!`] macro.
/// ///
/// # Examples /// # Examples
/// ///
@ -537,7 +537,7 @@ use string;
/// assert_eq!(s, "Hello, world!"); /// assert_eq!(s, "Hello, world!");
/// ``` /// ```
/// ///
/// Please note that using [`format!`][format!] might be preferrable. /// Please note that using [`format!`] might be preferrable.
/// Example: /// Example:
/// ///
/// ``` /// ```
@ -545,7 +545,9 @@ use string;
/// assert_eq!(s, "Hello, world!"); /// assert_eq!(s, "Hello, world!");
/// ``` /// ```
/// ///
/// [format!]: ../macro.format.html /// [`Arguments`]: struct.Arguments.html
/// [`format_args!`]: ../../std/macro.format_args.html
/// [`format!`]: ../../std/macro.format.html
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
pub fn format(args: Arguments) -> string::String { pub fn format(args: Arguments) -> string::String {
let capacity = args.estimated_capacity(); let capacity = args.estimated_capacity();

View File

@ -67,7 +67,7 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
Ok(InferOk { obligations, value: () }) => { Ok(InferOk { obligations, value: () }) => {
self.register_predicates(obligations); self.register_predicates(obligations);
None None
}, }
Err(e) => { Err(e) => {
Some(self.report_mismatched_types(cause, expected, actual, e)) Some(self.report_mismatched_types(cause, expected, actual, e))
} }
@ -82,7 +82,7 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
// Checks that the type of `expr` can be coerced to `expected`. // Checks that the type of `expr` can be coerced to `expected`.
// //
// NB: This code relies on `self.diverges` to be accurate. In // NB: This code relies on `self.diverges` to be accurate. In
// particular, assignments to `!` will be permitted if the // particular, assignments to `!` will be permitted if the
// diverges flag is currently "always". // diverges flag is currently "always".
pub fn demand_coerce_diag(&self, pub fn demand_coerce_diag(&self,