From ef9e542b453023a0cb6cd0855f5d1214f0024a88 Mon Sep 17 00:00:00 2001 From: Steve Klabnik Date: Thu, 27 Aug 2015 14:24:53 -0400 Subject: [PATCH] Improve docs for write!/writeln! macros --- src/libcore/macros.rs | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/src/libcore/macros.rs b/src/libcore/macros.rs index 25ca33a3d50..58e0bb37b0a 100644 --- a/src/libcore/macros.rs +++ b/src/libcore/macros.rs @@ -168,8 +168,14 @@ macro_rules! try { }) } -/// Use the `format!` syntax to write data into a buffer of type `&mut Write`. -/// See `std::fmt` for more information. +/// Use the `format!` syntax to write data into a buffer. +/// +/// This macro is typically used with a buffer of `&mut `[`Write`][write]. +/// +/// See [`std::fmt`][fmt] for more information on format syntax. +/// +/// [fmt]: fmt/index.html +/// [write]: io/trait.Write.html /// /// # Examples /// @@ -179,14 +185,34 @@ macro_rules! try { /// let mut w = Vec::new(); /// write!(&mut w, "test").unwrap(); /// write!(&mut w, "formatted {}", "arguments").unwrap(); +/// +/// assert_eq!(w, b"testformatted arguments"); /// ``` #[macro_export] macro_rules! write { ($dst:expr, $($arg:tt)*) => ($dst.write_fmt(format_args!($($arg)*))) } -/// Equivalent to the `write!` macro, except that a newline is appended after -/// the message is written. +/// Use the `format!` syntax to write data into a buffer, appending a newline. +/// +/// This macro is typically used with a buffer of `&mut `[`Write`][write]. +/// +/// See [`std::fmt`][fmt] for more information on format syntax. +/// +/// [fmt]: fmt/index.html +/// [write]: io/trait.Write.html +/// +/// # Examples +/// +/// ``` +/// use std::io::Write; +/// +/// let mut w = Vec::new(); +/// writeln!(&mut w, "test").unwrap(); +/// writeln!(&mut w, "formatted {}", "arguments").unwrap(); +/// +/// assert_eq!(&w[..], "test\nformatted arguments\n".as_bytes()); +/// ``` #[macro_export] #[stable(feature = "rust1", since = "1.0.0")] macro_rules! writeln { -- 2.44.0