From d0e60b72ee3f5fb07b01143d82362cb42307f32d Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Wed, 26 Mar 2014 09:24:16 -0700 Subject: De-~[] Reader and Writer There's a little more allocation here and there now since from_utf8_owned can't be used with Vec. --- src/libsyntax/parse/comments.rs | 2 +- src/libsyntax/parse/mod.rs | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'src/libsyntax/parse') diff --git a/src/libsyntax/parse/comments.rs b/src/libsyntax/parse/comments.rs index 3bf1474c461..bb812f7f6b4 100644 --- a/src/libsyntax/parse/comments.rs +++ b/src/libsyntax/parse/comments.rs @@ -350,7 +350,7 @@ pub fn gather_comments_and_literals(span_diagnostic: srdr: &mut io::Reader) -> (Vec, Vec) { let src = srdr.read_to_end().unwrap(); - let src = str::from_utf8_owned(src).unwrap(); + let src = str::from_utf8(src.as_slice()).unwrap().to_owned(); let cm = CodeMap::new(); let filemap = cm.new_filemap(path, src); let mut rdr = lexer::new_low_level_string_reader(span_diagnostic, filemap); diff --git a/src/libsyntax/parse/mod.rs b/src/libsyntax/parse/mod.rs index dbb85972774..35f9898ebbb 100644 --- a/src/libsyntax/parse/mod.rs +++ b/src/libsyntax/parse/mod.rs @@ -228,9 +228,10 @@ pub fn file_to_filemap(sess: &ParseSess, path: &Path, spanopt: Option) unreachable!() } }; - match str::from_utf8_owned(bytes) { + match str::from_utf8(bytes.as_slice()) { Some(s) => { - return string_to_filemap(sess, s, path.as_str().unwrap().to_str()) + return string_to_filemap(sess, s.to_owned(), + path.as_str().unwrap().to_str()) } None => err(format!("{} is not UTF-8 encoded", path.display())), } @@ -292,7 +293,7 @@ mod test { let mut writer = MemWriter::new(); let mut encoder = json::Encoder::new(&mut writer as &mut io::Writer); let _ = val.encode(&mut encoder); - str::from_utf8_owned(writer.unwrap()).unwrap() + str::from_utf8(writer.unwrap().as_slice()).unwrap().to_owned() } // produce a codemap::span -- cgit 1.4.1-3-g733a5