auto merge of #14258 : alexcrichton/rust/dox-format-writer, r=cmr
This commit fills in the documentation holes for the FormatWriter trait which were previously accidentally left blank. Additionally, this adds the `write_fmt` method to the trait to allow usage of the `write!` macro with implementors of the `FormatWriter` trait. This is not useful for consumers of the standard library who should generally avoid the `FormatWriter` trait, but it is useful for consumers of the core library who are not using the standard library.
This commit is contained in:
commit
2b4cdea7f1
2 changed files with 45 additions and 4 deletions
|
|
@ -14,12 +14,22 @@
|
|||
#![feature(macro_rules)]
|
||||
|
||||
use std::io::MemWriter;
|
||||
use std::fmt;
|
||||
use std::fmt::FormatWriter;
|
||||
|
||||
struct Foo<'a> {
|
||||
writer: &'a mut Writer,
|
||||
other: &'a str,
|
||||
}
|
||||
|
||||
struct Bar;
|
||||
|
||||
impl fmt::FormatWriter for Bar {
|
||||
fn write(&mut self, _: &[u8]) -> fmt::Result {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
fn borrowing_writer_from_struct_and_formatting_struct_field(foo: Foo) {
|
||||
write!(foo.writer, "{}", foo.other);
|
||||
}
|
||||
|
|
@ -29,4 +39,7 @@ fn main() {
|
|||
write!(&mut w as &mut Writer, "");
|
||||
write!(&mut w, ""); // should coerce
|
||||
println!("ok");
|
||||
|
||||
let mut s = Bar;
|
||||
write!(&mut s, "test");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue