summary refs log tree commit diff
path: root/src/libstd/io
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2015-02-26 11:25:16 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2015-03-18 00:40:59 +0300
commit1e9bef916f471e43fcd18593f95374ac42acf99e (patch)
treeb49b5b74f7180f5f777be0d7361f52f2e0a9d03b /src/libstd/io
parentbfac337daab9b86971bcb3db61382ac44f94621c (diff)
downloadrust-1e9bef916f471e43fcd18593f95374ac42acf99e.tar.gz
rust-1e9bef916f471e43fcd18593f95374ac42acf99e.zip
Fixed-size byte string literals (RFC 339)
Diffstat (limited to 'src/libstd/io')
-rw-r--r--src/libstd/io/buffered.rs4
-rw-r--r--src/libstd/io/cursor.rs17
2 files changed, 19 insertions, 2 deletions
diff --git a/src/libstd/io/buffered.rs b/src/libstd/io/buffered.rs
index 73dcf058e45..43eec695274 100644
--- a/src/libstd/io/buffered.rs
+++ b/src/libstd/io/buffered.rs
@@ -622,7 +622,7 @@ mod tests {
 
     #[test]
     fn test_read_line() {
-        let in_buf = b"a\nb\nc";
+        let in_buf: &[u8] = b"a\nb\nc";
         let mut reader = BufReader::with_capacity(2, in_buf);
         let mut s = String::new();
         reader.read_line(&mut s).unwrap();
@@ -640,7 +640,7 @@ mod tests {
 
     #[test]
     fn test_lines() {
-        let in_buf = b"a\nb\nc";
+        let in_buf: &[u8] = b"a\nb\nc";
         let reader = BufReader::with_capacity(2, in_buf);
         let mut it = reader.lines();
         assert_eq!(it.next(), Some(Ok("a".to_string())));
diff --git a/src/libstd/io/cursor.rs b/src/libstd/io/cursor.rs
index 2445f5a7a40..bfcea75ad6a 100644
--- a/src/libstd/io/cursor.rs
+++ b/src/libstd/io/cursor.rs
@@ -129,6 +129,23 @@ impl<'a> BufRead for Cursor<&'a mut [u8]> { buffer!(); }
 #[stable(feature = "rust1", since = "1.0.0")]
 impl<'a> BufRead for Cursor<Vec<u8>> { buffer!(); }
 
+macro_rules! array_impls {
+    ($($N: expr)+) => {
+        $(
+            impl<'a> io::Seek for Cursor<&'a [u8; $N]> { seek!(); }
+            impl<'a> Read for Cursor<&'a [u8; $N]> { read!(); }
+            impl<'a> BufRead for Cursor<&'a [u8; $N]> { buffer!(); }
+        )+
+    }
+}
+
+array_impls! {
+     0  1  2  3  4  5  6  7  8  9
+    10 11 12 13 14 15 16 17 18 19
+    20 21 22 23 24 25 26 27 28 29
+    30 31 32
+}
+
 #[stable(feature = "rust1", since = "1.0.0")]
 impl<'a> Write for Cursor<&'a mut [u8]> {
     fn write(&mut self, data: &[u8]) -> io::Result<usize> {