Change:
Looking at  documentation page, the only thing you can figure out is that does return something and “something” has a method.
I'm pretty sure that write is not even guaranteed to return anything with an method... Write basically calls whatever method on is in scope (and makes no_ other guarantees).
It, then, should document that.
Yay duck typing!
part of
I would be willing to work with anyone who wanted to fix this issue.
Some related issues regarding that macro & it's documentation: ,
Hello! I can work on this.
great! Do you need any help from me?
Hello. Not currently. I'll come up with a PR and ask your comments on it tomorrow or the next day. Thanks for keeping an eye!

Discussion:
}) } <del> /// Use the `format!` syntax to write data into a buffer. </del> <ins> /// Write formatted data into a buffer </ins> /// <del> /// This macro is typically used with a buffer of `&mut `[`Write`][write]. </del> <ins> /// This macro accepts any value with `write_fmt` method as a writer, a format string, and a list /// of arguments to format. /// /// `write_fmt` method usually comes from an implementation of [`std::fmt::Write`][fmt_write] or /// [`std::io::Write`][io_write] traits. These are sometimes called 'writers'. /// /// Passed arguments will be formatted according to the specified format string and the resulting /// string will be passed to the writer. </ins> /// /// See [`std::fmt`][fmt] for more information on format syntax. /// <ins> /// Return value is completely dependent on the 'write_fmt' method. /// /// Common return values are: [`Result`][enum_result], [`io::Result`][type_result] /// </ins> /// [fmt]: ../std/fmt/index.html <del> /// [write]: ../std/io/trait.Write.html </del> <ins> /// [fmt_write]: ../std/fmt/trait.Write.html /// [io_write]: ../std/io/trait.Write.html /// [enum_result]: ../std/result/enum.Result.html /// [type_result]: ../std/io/type.Result.html </ins> /// /// # Examples ///

($dst:expr, $($arg:tt)*) => ($dst.write_fmt(format_args!($($arg)*))) } <del> /// Use the `format!` syntax to write data into a buffer, appending a newline. /// On all platforms, the newline is the LINE FEED character (`n`/`U+000A`) /// alone (no additional CARRIAGE RETURN (`r`/`U+000D`). </del> <ins> /// Write formatted data into a buffer, with appending a newline. /// /// On all platforms, the newline is the LINE FEED character (`n`/`U+000A`) alone /// (no additional CARRIAGE RETURN (`r`/`U+000D`). </ins> /// <del> /// This macro is typically used with a buffer of `&mut `[`Write`][write]. </del> <ins> /// This macro accepts any value with `write_fmt` method as a writer, a format string, and a list /// of arguments to format. /// /// `write_fmt` method usually comes from an implementation of [`std::fmt::Write`][fmt_write] or /// [`std::io::Write`][io_write] traits. These are sometimes called 'writers'. /// /// Passed arguments will be formatted according to the specified format string and the resulting /// string will be passed to the writer. </ins> /// /// See [`std::fmt`][fmt] for more information on format syntax. /// <ins> /// Return value is completely dependent on the 'write_fmt' method. /// /// Common return values are: [`Result`][enum_result], [`io::Result`][type_result] /// </ins> /// [fmt]: ../std/fmt/index.html <del> /// [write]: ../std/io/trait.Write.html </del> <ins> /// [fmt_write]: ../std/fmt/trait.Write.html /// [io_write]: ../std/io/trait.Write.html /// [enum_result]: ../std/result/enum.Result.html /// [type_result]: ../std/io/type.Result.html </ins> /// /// # Examples ///