about summary refs log tree commit diff
path: root/src/libsyntax/parse/mod.rs
diff options
context:
space:
mode:
authorSteven Fackler <sfackler@gmail.com>2014-03-26 09:24:16 -0700
committerSteven Fackler <sfackler@gmail.com>2014-04-06 15:39:56 -0700
commitd0e60b72ee3f5fb07b01143d82362cb42307f32d (patch)
treeed0161843da862f7b40a01b76a81ced97c1e67da /src/libsyntax/parse/mod.rs
parent94a055c7295bd5822219b86243c2af6fff9d21d3 (diff)
downloadrust-d0e60b72ee3f5fb07b01143d82362cb42307f32d.tar.gz
rust-d0e60b72ee3f5fb07b01143d82362cb42307f32d.zip
De-~[] Reader and Writer
There's a little more allocation here and there now since
from_utf8_owned can't be used with Vec.
Diffstat (limited to 'src/libsyntax/parse/mod.rs')
-rw-r--r--src/libsyntax/parse/mod.rs7
1 files changed, 4 insertions, 3 deletions
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<Span>)
             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