about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark Simulacrum <mark.simulacrum@gmail.com>2017-07-18 09:41:29 -0600
committerGitHub <noreply@github.com>2017-07-18 09:41:29 -0600
commitb83285bd29ea5f7ec591b9dc49c672634b80513a (patch)
treea1a120f903d62b6791388ef3927e9b405827c69b
parent83c659ef655b1f740777f83eb415fd7ebe5a3fe5 (diff)
parentaca6cd052d51a16f09b1e9a6051a746d0ff2ce85 (diff)
downloadrust-b83285bd29ea5f7ec591b9dc49c672634b80513a.tar.gz
rust-b83285bd29ea5f7ec591b9dc49c672634b80513a.zip
Rollup merge of #42837 - rthomas:29355-error, r=steveklabnik
Update docs on Error struct. #29355

This adds a pretty contrived example of the usage of fmt::Error. I am
very open to suggestions for a better one.

I have also highlighted the fmt::Error vs std::error::Error.

r? @steveklabnik
-rw-r--r--src/libcore/fmt/mod.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libcore/fmt/mod.rs b/src/libcore/fmt/mod.rs
index 750e86114c4..193c8b9f925 100644
--- a/src/libcore/fmt/mod.rs
+++ b/src/libcore/fmt/mod.rs
@@ -81,6 +81,22 @@ pub type Result = result::Result<(), Error>;
 /// This type does not support transmission of an error other than that an error
 /// occurred. Any extra information must be arranged to be transmitted through
 /// some other means.
+///
+/// An important thing to remember is that the type `fmt::Error` should not be
+/// confused with `std::io::Error` or `std::error::Error`, which you may also
+/// have in scope.
+///
+/// # Examples
+///
+/// ```rust
+/// use std::fmt::{self, write};
+///
+/// let mut output = String::new();
+/// match write(&mut output, format_args!("Hello {}!", "world")) {
+///     Err(fmt::Error) => panic!("An error occurred"),
+///     _ => (),
+/// }
+/// ```
 #[stable(feature = "rust1", since = "1.0.0")]
 #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
 pub struct Error;