summary refs log tree commit diff
path: root/src/libstd/io
diff options
context:
space:
mode:
authorHuon Wilson <dbau.pp+github@gmail.com>2013-11-28 23:52:11 +1100
committerHuon Wilson <dbau.pp+github@gmail.com>2013-12-04 22:35:53 +1100
commit9d64e46013096997627da62ecc65225bc22682e8 (patch)
treefa20c8fd1d653acff5f996253d16103dd61addd9 /src/libstd/io
parent9635c763ba5edc8c8ea2868b895548b52f640e5a (diff)
downloadrust-9d64e46013096997627da62ecc65225bc22682e8.tar.gz
rust-9d64e46013096997627da62ecc65225bc22682e8.zip
std::str: remove from_utf8.
This function had type &[u8] -> ~str, i.e. it allocates a string
internally, even though the non-allocating version that take &[u8] ->
&str and ~[u8] -> ~str are all that is necessary in most circumstances.
Diffstat (limited to 'src/libstd/io')
-rw-r--r--src/libstd/io/flate.rs6
-rw-r--r--src/libstd/io/fs.rs39
2 files changed, 21 insertions, 24 deletions
diff --git a/src/libstd/io/flate.rs b/src/libstd/io/flate.rs
index 8a5aa171eb8..6548c0e65c9 100644
--- a/src/libstd/io/flate.rs
+++ b/src/libstd/io/flate.rs
@@ -107,7 +107,7 @@ mod test {
     fn smoke_test() {
         let mem_writer = MemWriter::new();
         let mut deflate_writer = DeflateWriter::new(mem_writer);
-        let in_msg = "test";
+        let in_msg: &str = "test";
         let in_bytes = in_msg.as_bytes();
         deflate_writer.write(in_bytes);
         deflate_writer.flush();
@@ -117,7 +117,7 @@ mod test {
         let mut out_bytes = [0, .. 100];
         let bytes_read = inflate_reader.read(out_bytes).unwrap();
         assert_eq!(bytes_read, in_bytes.len());
-        let out_msg = str::from_utf8(out_bytes);
-        assert!(in_msg == out_msg);
+        let out_msg = str::from_utf8_slice(out_bytes);
+        assert_eq!(in_msg, out_msg);
     }
 }
diff --git a/src/libstd/io/fs.rs b/src/libstd/io/fs.rs
index e239f630f01..db8de9df24a 100644
--- a/src/libstd/io/fs.rs
+++ b/src/libstd/io/fs.rs
@@ -770,9 +770,9 @@ mod test {
             let mut read_buf = [0, .. 1028];
             let read_str = match read_stream.read(read_buf).unwrap() {
                 -1|0 => fail!("shouldn't happen"),
-                n => str::from_utf8(read_buf.slice_to(n))
+                n => str::from_utf8_owned(read_buf.slice_to(n).to_owned())
             };
-            assert!(read_str == message.to_owned());
+            assert_eq!(read_str, message.to_owned());
         }
         unlink(filename);
     })
@@ -801,7 +801,7 @@ mod test {
     })
 
     test!(fn file_test_io_non_positional_read() {
-        let message = "ten-four";
+        let message: &str = "ten-four";
         let mut read_mem = [0, .. 8];
         let tmpdir = tmpdir();
         let filename = &tmpdir.join("file_rt_io_file_test_positional.txt");
@@ -821,8 +821,8 @@ mod test {
             }
         }
         unlink(filename);
-        let read_str = str::from_utf8(read_mem);
-        assert!(read_str == message.to_owned());
+        let read_str = str::from_utf8_slice(read_mem);
+        assert_eq!(read_str, message);
     })
 
     test!(fn file_test_io_seek_and_tell_smoke_test() {
@@ -845,10 +845,10 @@ mod test {
             tell_pos_post_read = read_stream.tell();
         }
         unlink(filename);
-        let read_str = str::from_utf8(read_mem);
-        assert!(read_str == message.slice(4, 8).to_owned());
-        assert!(tell_pos_pre_read == set_cursor);
-        assert!(tell_pos_post_read == message.len() as u64);
+        let read_str = str::from_utf8_slice(read_mem);
+        assert_eq!(read_str, message.slice(4, 8));
+        assert_eq!(tell_pos_pre_read, set_cursor);
+        assert_eq!(tell_pos_post_read, message.len() as u64);
     })
 
     test!(fn file_test_io_seek_and_write() {
@@ -870,16 +870,16 @@ mod test {
             read_stream.read(read_mem);
         }
         unlink(filename);
-        let read_str = str::from_utf8(read_mem);
+        let read_str = str::from_utf8_slice(read_mem);
         assert!(read_str == final_msg.to_owned());
     })
 
     test!(fn file_test_io_seek_shakedown() {
         use std::str;          // 01234567890123
         let initial_msg =   "qwer-asdf-zxcv";
-        let chunk_one = "qwer";
-        let chunk_two = "asdf";
-        let chunk_three = "zxcv";
+        let chunk_one: &str = "qwer";
+        let chunk_two: &str = "asdf";
+        let chunk_three: &str = "zxcv";
         let mut read_mem = [0, .. 4];
         let tmpdir = tmpdir();
         let filename = &tmpdir.join("file_rt_io_file_test_seek_shakedown.txt");
@@ -892,18 +892,15 @@ mod test {
 
             read_stream.seek(-4, SeekEnd);
             read_stream.read(read_mem);
-            let read_str = str::from_utf8(read_mem);
-            assert!(read_str == chunk_three.to_owned());
+            assert_eq!(str::from_utf8_slice(read_mem), chunk_three);
 
             read_stream.seek(-9, SeekCur);
             read_stream.read(read_mem);
-            let read_str = str::from_utf8(read_mem);
-            assert!(read_str == chunk_two.to_owned());
+            assert_eq!(str::from_utf8_slice(read_mem), chunk_two);
 
             read_stream.seek(0, SeekSet);
             read_stream.read(read_mem);
-            let read_str = str::from_utf8(read_mem);
-            assert!(read_str == chunk_one.to_owned());
+            assert_eq!(str::from_utf8_slice(read_mem), chunk_one);
         }
         unlink(filename);
     })
@@ -977,12 +974,12 @@ mod test {
             {
                 let n = f.filestem_str();
                 File::open(f).read(mem);
-                let read_str = str::from_utf8(mem);
+                let read_str = str::from_utf8_slice(mem);
                 let expected = match n {
                     None|Some("") => fail!("really shouldn't happen.."),
                     Some(n) => prefix+n
                 };
-                assert!(expected == read_str);
+                assert_eq!(expected.as_slice(), read_str);
             }
             unlink(f);
         }