pub fn to_pretty_str(&self) -> ~str {
let mut s = MemWriter::new();
self.to_pretty_writer(&mut s as &mut io::Writer);
- str::from_utf8(s.inner_ref().as_slice())
+ str::from_utf8_owned(s.inner())
}
}
/// Decodes a json value from an `&mut io::Reader`
pub fn from_reader(rdr: &mut io::Reader) -> Result<Json, Error> {
- let s = str::from_utf8(rdr.read_to_end());
+ let s = str::from_utf8_owned(rdr.read_to_end());
let mut parser = Parser::init(s.chars());
parser.parse()
}
impl to_str::ToStr for Json {
/// Encodes a json value into a string
fn to_str(&self) -> ~str {
- let s = @mut MemWriter::new();
- self.to_writer(s as @mut io::Writer);
- str::from_utf8(s.inner_ref().as_slice())
+ let mut s = MemWriter::new();
+ self.to_writer(&mut s as &mut io::Writer);
+ str::from_utf8_owned(s.inner())
}
}
assert_eq!(a.clone(), from_str(a.to_pretty_str()).unwrap());
}
- fn with_str_writer(f: |@mut io::Writer|) -> ~str {
+ fn with_str_writer(f: |&mut io::Writer|) -> ~str {
use std::io::mem::MemWriter;
use std::io::Decorator;
use std::str;
- let m = @mut MemWriter::new();
- f(m as @mut io::Writer);
- str::from_utf8(*m.inner_ref())
+ let mut m = MemWriter::new();
+ f(&mut m as &mut io::Writer);
+ str::from_utf8_owned(m.inner())
}
#[test]
/// Load MetricDiff from a file.
pub fn load(p: &Path) -> MetricMap {
assert!(p.exists());
- let f = @mut File::open(p) as @mut io::Reader;
- let mut decoder = json::Decoder::init(json::from_reader(f).unwrap());
+ let mut f = File::open(p);
+ let value = json::from_reader(&mut f as &mut io::Reader).unwrap();
+ let mut decoder = json::Decoder::init(value);
MetricMap(Decodable::decode(&mut decoder))
}
// FIXME #8335: yuck, Rust -> str -> JSON round trip! No way to .encode
// straight to the Rust JSON representation.
let crate_json_str = {
- let w = @mut MemWriter::new();
- crate.encode(&mut json::Encoder::init(w as @mut io::Writer));
- str::from_utf8(*w.inner_ref())
+ let mut w = MemWriter::new();
+ {
+ let mut encoder = json::Encoder::init(&mut w as &mut io::Writer);
+ crate.encode(&mut encoder);
+ }
+ str::from_utf8_owned(w.inner())
};
let crate_json = match json::from_str(crate_json_str) {
Ok(j) => j,
let mut writer = MemWriter::new();
let mut encoder = extra::json::Encoder::init(&mut writer as &mut io::Writer);
val.encode(&mut encoder);
- str::from_utf8(*writer.inner_ref())
+ str::from_utf8_owned(writer.inner())
}
// produce a codemap::span