diff options
Diffstat (limited to 'src/libstd/fmt')
| -rw-r--r-- | src/libstd/fmt/mod.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libstd/fmt/mod.rs b/src/libstd/fmt/mod.rs index b4bb6236f08..fecd68e049a 100644 --- a/src/libstd/fmt/mod.rs +++ b/src/libstd/fmt/mod.rs @@ -504,6 +504,7 @@ use slice::{Vector, ImmutableVector}; use slice; use str::{StrSlice, StrAllocating, UTF16Item, ScalarValue, LoneSurrogate}; use str; +use strbuf::StrBuf; pub use self::num::radix; pub use self::num::Radix; @@ -788,6 +789,11 @@ pub fn format(args: &Arguments) -> ~str { unsafe { format_unsafe(args.fmt, args.args) } } +/// Temporary transitionary thing. +pub fn format_strbuf(args: &Arguments) -> StrBuf { + unsafe { format_unsafe_strbuf(args.fmt, args.args) } +} + /// The unsafe version of the formatting function. /// /// This is currently an unsafe function because the types of all arguments @@ -815,6 +821,14 @@ pub unsafe fn format_unsafe(fmt: &[rt::Piece], args: &[Argument]) -> ~str { return str::from_utf8(output.unwrap().as_slice()).unwrap().to_owned(); } +/// Temporary transitionary thing. +pub unsafe fn format_unsafe_strbuf(fmt: &[rt::Piece], args: &[Argument]) + -> StrBuf { + let mut output = MemWriter::new(); + write_unsafe(&mut output as &mut io::Writer, fmt, args).unwrap(); + return str::from_utf8(output.unwrap().as_slice()).unwrap().into_strbuf(); +} + impl<'a> Formatter<'a> { // First up is the collection of functions used to execute a format string |
