diff options
| author | Brian Anderson <banderson@mozilla.com> | 2013-10-18 15:16:18 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2013-10-21 11:59:23 -0700 |
| commit | 3675e42334e9e58ae16446f52b2c6c951e8e1628 (patch) | |
| tree | 326bfd074994ac7fe42f59473a9824882df4f9dc /src/libstd | |
| parent | cf7b9eb51f10fc0b27164c27a30600f80927a1d3 (diff) | |
| download | rust-3675e42334e9e58ae16446f52b2c6c951e8e1628.tar.gz rust-3675e42334e9e58ae16446f52b2c6c951e8e1628.zip | |
std: Move sys::log_str to repr::repr_to_str. Further work on #2240.
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/fmt/mod.rs | 10 | ||||
| -rw-r--r-- | src/libstd/repr.rs | 10 | ||||
| -rw-r--r-- | src/libstd/sys.rs | 11 |
3 files changed, 13 insertions, 18 deletions
diff --git a/src/libstd/fmt/mod.rs b/src/libstd/fmt/mod.rs index 3223ca9a731..e7fa81fc87a 100644 --- a/src/libstd/fmt/mod.rs +++ b/src/libstd/fmt/mod.rs @@ -466,7 +466,7 @@ use rt::io::Decorator; use rt::io::mem::MemWriter; use rt::io; use str; -use sys; +use repr; use util; use vec; @@ -1087,17 +1087,13 @@ impl<T> Poly for T { fn fmt(t: &T, f: &mut Formatter) { match (f.width, f.precision) { (None, None) => { - // XXX: sys::log_str should have a variant which takes a stream - // and we should directly call that (avoids unnecessary - // allocations) - let s = sys::log_str(t); - f.buf.write(s.as_bytes()); + repr::write_repr(f.buf, t); } // If we have a specified width for formatting, then we have to make // this allocation of a new string _ => { - let s = sys::log_str(t); + let s = repr::repr_to_str(t); f.pad(s); } } diff --git a/src/libstd/repr.rs b/src/libstd/repr.rs index 031fd7993eb..a788064293f 100644 --- a/src/libstd/repr.rs +++ b/src/libstd/repr.rs @@ -616,6 +616,16 @@ pub fn write_repr<T>(writer: &mut io::Writer, object: &T) { } } +pub fn repr_to_str<T>(t: &T) -> ~str { + use str; + use rt::io; + use rt::io::Decorator; + + let mut result = io::mem::MemWriter::new(); + write_repr(&mut result as &mut io::Writer, t); + str::from_utf8_owned(result.inner()) +} + #[cfg(test)] struct P {a: int, b: f64} diff --git a/src/libstd/sys.rs b/src/libstd/sys.rs index 0f38671bfc2..d20a6696e27 100644 --- a/src/libstd/sys.rs +++ b/src/libstd/sys.rs @@ -15,18 +15,7 @@ use c_str::ToCStr; use libc::size_t; use libc; -use repr; use rt::task; -use str; - -pub fn log_str<T>(t: &T) -> ~str { - use rt::io; - use rt::io::Decorator; - - let mut result = io::mem::MemWriter::new(); - repr::write_repr(&mut result as &mut io::Writer, t); - str::from_utf8_owned(result.inner()) -} /// Trait for initiating task failure. pub trait FailWithCause { |
