1
Fork 0

extra: missed a couple @ in json

This commit is contained in:
Erick Tryzelaar 2013-11-29 21:26:03 -08:00
parent 6818b96a66
commit a7b311ac61
4 changed files with 19 additions and 15 deletions

View file

@ -464,7 +464,7 @@ impl Json{
pub fn to_pretty_str(&self) -> ~str { pub fn to_pretty_str(&self) -> ~str {
let mut s = MemWriter::new(); let mut s = MemWriter::new();
self.to_pretty_writer(&mut s as &mut io::Writer); self.to_pretty_writer(&mut s as &mut io::Writer);
str::from_utf8(s.inner_ref().as_slice()) str::from_utf8_owned(s.inner())
} }
} }
@ -847,7 +847,7 @@ impl<T : Iterator<char>> Parser<T> {
/// Decodes a json value from an `&mut io::Reader` /// Decodes a json value from an `&mut io::Reader`
pub fn from_reader(rdr: &mut io::Reader) -> Result<Json, Error> { 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()); let mut parser = Parser::init(s.chars());
parser.parse() parser.parse()
} }
@ -1319,9 +1319,9 @@ impl<A:ToJson> ToJson for Option<A> {
impl to_str::ToStr for Json { impl to_str::ToStr for Json {
/// Encodes a json value into a string /// Encodes a json value into a string
fn to_str(&self) -> ~str { fn to_str(&self) -> ~str {
let s = @mut MemWriter::new(); let mut s = MemWriter::new();
self.to_writer(s as @mut io::Writer); self.to_writer(&mut s as &mut io::Writer);
str::from_utf8(s.inner_ref().as_slice()) str::from_utf8_owned(s.inner())
} }
} }
@ -1507,14 +1507,14 @@ mod tests {
assert_eq!(a.clone(), from_str(a.to_pretty_str()).unwrap()); 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::mem::MemWriter;
use std::io::Decorator; use std::io::Decorator;
use std::str; use std::str;
let m = @mut MemWriter::new(); let mut m = MemWriter::new();
f(m as @mut io::Writer); f(&mut m as &mut io::Writer);
str::from_utf8(*m.inner_ref()) str::from_utf8_owned(m.inner())
} }
#[test] #[test]

View file

@ -945,8 +945,9 @@ impl MetricMap {
/// Load MetricDiff from a file. /// Load MetricDiff from a file.
pub fn load(p: &Path) -> MetricMap { pub fn load(p: &Path) -> MetricMap {
assert!(p.exists()); assert!(p.exists());
let f = @mut File::open(p) as @mut io::Reader; let mut f = File::open(p);
let mut decoder = json::Decoder::init(json::from_reader(f).unwrap()); let value = json::from_reader(&mut f as &mut io::Reader).unwrap();
let mut decoder = json::Decoder::init(value);
MetricMap(Decodable::decode(&mut decoder)) MetricMap(Decodable::decode(&mut decoder))
} }

View file

@ -312,9 +312,12 @@ fn json_output(crate: clean::Crate, res: ~[plugins::PluginJson], dst: Path) {
// FIXME #8335: yuck, Rust -> str -> JSON round trip! No way to .encode // FIXME #8335: yuck, Rust -> str -> JSON round trip! No way to .encode
// straight to the Rust JSON representation. // straight to the Rust JSON representation.
let crate_json_str = { let crate_json_str = {
let w = @mut MemWriter::new(); let mut w = MemWriter::new();
crate.encode(&mut json::Encoder::init(w as @mut io::Writer)); {
str::from_utf8(*w.inner_ref()) 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) { let crate_json = match json::from_str(crate_json_str) {
Ok(j) => j, Ok(j) => j,

View file

@ -346,7 +346,7 @@ mod test {
let mut writer = MemWriter::new(); let mut writer = MemWriter::new();
let mut encoder = extra::json::Encoder::init(&mut writer as &mut io::Writer); let mut encoder = extra::json::Encoder::init(&mut writer as &mut io::Writer);
val.encode(&mut encoder); val.encode(&mut encoder);
str::from_utf8(*writer.inner_ref()) str::from_utf8_owned(writer.inner())
} }
// produce a codemap::span // produce a codemap::span