diff options
| author | Jorge Aparicio <japaricious@gmail.com> | 2015-02-01 21:53:25 -0500 |
|---|---|---|
| committer | Jorge Aparicio <japaricious@gmail.com> | 2015-02-05 13:45:01 -0500 |
| commit | 17bc7d8d5be3be9674d702ccad2fa88c487d23b0 (patch) | |
| tree | 325defba0f55b48273cd3f0814fe6c083dee5d41 /src/libstd | |
| parent | 2c05354211b04a52cc66a0b8ad8b2225eaf9e972 (diff) | |
| download | rust-17bc7d8d5be3be9674d702ccad2fa88c487d23b0.tar.gz rust-17bc7d8d5be3be9674d702ccad2fa88c487d23b0.zip | |
cleanup: replace `as[_mut]_slice()` calls with deref coercions
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/ascii.rs | 2 | ||||
| -rw-r--r-- | src/libstd/dynamic_lib.rs | 4 | ||||
| -rw-r--r-- | src/libstd/ffi/c_str.rs | 8 | ||||
| -rw-r--r-- | src/libstd/old_io/buffered.rs | 2 | ||||
| -rw-r--r-- | src/libstd/old_io/comm_adapters.rs | 4 | ||||
| -rw-r--r-- | src/libstd/old_io/extensions.rs | 10 | ||||
| -rw-r--r-- | src/libstd/old_io/fs.rs | 20 | ||||
| -rw-r--r-- | src/libstd/old_io/mem.rs | 24 | ||||
| -rw-r--r-- | src/libstd/old_io/mod.rs | 4 | ||||
| -rw-r--r-- | src/libstd/old_io/process.rs | 32 | ||||
| -rw-r--r-- | src/libstd/old_io/result.rs | 2 | ||||
| -rw-r--r-- | src/libstd/old_io/util.rs | 8 | ||||
| -rw-r--r-- | src/libstd/old_path/posix.rs | 26 | ||||
| -rw-r--r-- | src/libstd/old_path/windows.rs | 4 | ||||
| -rw-r--r-- | src/libstd/os.rs | 46 | ||||
| -rw-r--r-- | src/libstd/rand/mod.rs | 10 | ||||
| -rw-r--r-- | src/libstd/sync/mpsc/spsc_queue.rs | 2 | ||||
| -rw-r--r-- | src/libstd/sys/common/thread_info.rs | 2 | ||||
| -rw-r--r-- | src/libstd/sys/common/wtf8.rs | 110 | ||||
| -rw-r--r-- | src/libstd/sys/unix/os_str.rs | 2 | ||||
| -rw-r--r-- | src/libstd/sys/windows/process.rs | 9 | ||||
| -rw-r--r-- | src/libstd/sys/windows/tty.rs | 2 | ||||
| -rw-r--r-- | src/libstd/thread.rs | 5 |
23 files changed, 168 insertions, 170 deletions
diff --git a/src/libstd/ascii.rs b/src/libstd/ascii.rs index 274c669d8df..892747e79ed 100644 --- a/src/libstd/ascii.rs +++ b/src/libstd/ascii.rs @@ -421,7 +421,7 @@ mod tests { let lower = if 'A' as u32 <= c && c <= 'Z' as u32 { c + 'a' as u32 - 'A' as u32 } else { c }; assert!((from_u32(i).unwrap()).to_string().eq_ignore_ascii_case( - (from_u32(lower).unwrap()).to_string().as_slice())); + &from_u32(lower).unwrap().to_string())); i += 1; } } diff --git a/src/libstd/dynamic_lib.rs b/src/libstd/dynamic_lib.rs index 68ae0f7e5b5..e1bcfe3ab72 100644 --- a/src/libstd/dynamic_lib.rs +++ b/src/libstd/dynamic_lib.rs @@ -67,9 +67,9 @@ impl DynamicLibrary { pub fn prepend_search_path(path: &Path) { let mut search_path = DynamicLibrary::search_path(); search_path.insert(0, path.clone()); - let newval = DynamicLibrary::create_path(search_path.as_slice()); + let newval = DynamicLibrary::create_path(&search_path); env::set_var(DynamicLibrary::envvar(), - str::from_utf8(newval.as_slice()).unwrap()); + str::from_utf8(&newval).unwrap()); } /// From a slice of paths, create a new vector which is suitable to be an diff --git a/src/libstd/ffi/c_str.rs b/src/libstd/ffi/c_str.rs index 2e55c007b55..4c8735bd4ad 100644 --- a/src/libstd/ffi/c_str.rs +++ b/src/libstd/ffi/c_str.rs @@ -13,7 +13,7 @@ use iter::IteratorExt; use libc; use mem; use ops::Deref; -use slice::{self, SliceExt, AsSlice}; +use slice::{self, SliceExt}; use string::String; use vec::Vec; @@ -96,12 +96,12 @@ impl CString { /// Create a view into this C string which includes the trailing nul /// terminator at the end of the string. - pub fn as_slice_with_nul(&self) -> &[libc::c_char] { self.inner.as_slice() } + pub fn as_slice_with_nul(&self) -> &[libc::c_char] { &self.inner } /// Similar to the `as_slice` method, but returns a `u8` slice instead of a /// `libc::c_char` slice. pub fn as_bytes(&self) -> &[u8] { - unsafe { mem::transmute(self.as_slice()) } + unsafe { mem::transmute(&**self) } } /// Equivalent to `as_slice_with_nul` except that the type returned is a @@ -197,7 +197,7 @@ mod tests { assert_eq!(s.as_bytes(), b"1234"); assert_eq!(s.as_bytes_with_nul(), b"1234\0"); unsafe { - assert_eq!(s.as_slice(), + assert_eq!(&*s, mem::transmute::<_, &[libc::c_char]>(b"1234")); assert_eq!(s.as_slice_with_nul(), mem::transmute::<_, &[libc::c_char]>(b"1234\0")); diff --git a/src/libstd/old_io/buffered.rs b/src/libstd/old_io/buffered.rs index 586cc1477f8..59a437ad916 100644 --- a/src/libstd/old_io/buffered.rs +++ b/src/libstd/old_io/buffered.rs @@ -97,7 +97,7 @@ impl<R: Reader> BufferedReader<R> { impl<R: Reader> Buffer for BufferedReader<R> { fn fill_buf<'a>(&'a mut self) -> IoResult<&'a [u8]> { if self.pos == self.cap { - self.cap = try!(self.inner.read(self.buf.as_mut_slice())); + self.cap = try!(self.inner.read(&mut self.buf)); self.pos = 0; } Ok(&self.buf[self.pos..self.cap]) diff --git a/src/libstd/old_io/comm_adapters.rs b/src/libstd/old_io/comm_adapters.rs index feb2ef6f4f3..d8f9b1bb3fe 100644 --- a/src/libstd/old_io/comm_adapters.rs +++ b/src/libstd/old_io/comm_adapters.rs @@ -191,14 +191,14 @@ mod test { let a: &[u8] = &[7,8,6]; assert_eq!(a, buf); - match reader.read(buf.as_mut_slice()) { + match reader.read(&mut buf) { Ok(..) => panic!(), Err(e) => assert_eq!(e.kind, old_io::EndOfFile), } assert_eq!(a, buf); // Ensure it continues to panic in the same way. - match reader.read(buf.as_mut_slice()) { + match reader.read(&mut buf) { Ok(..) => panic!(), Err(e) => assert_eq!(e.kind, old_io::EndOfFile), } diff --git a/src/libstd/old_io/extensions.rs b/src/libstd/old_io/extensions.rs index d729c2800ce..95284f2ca40 100644 --- a/src/libstd/old_io/extensions.rs +++ b/src/libstd/old_io/extensions.rs @@ -24,7 +24,7 @@ use option::Option; use option::Option::{Some, None}; use ptr::PtrExt; use result::Result::{Ok, Err}; -use slice::{SliceExt, AsSlice}; +use slice::SliceExt; /// An iterator that reads a single byte on each iteration, /// until `.read_byte()` returns `EndOfFile`. @@ -101,7 +101,7 @@ pub fn u64_to_le_bytes<T, F>(n: u64, size: uint, f: F) -> T where n >>= 8; i -= 1u; } - f(bytes.as_slice()) + f(&bytes) } } } @@ -140,7 +140,7 @@ pub fn u64_to_be_bytes<T, F>(n: u64, size: uint, f: F) -> T where bytes.push((n >> shift) as u8); i -= 1u; } - f(bytes.as_slice()) + f(&bytes) } } } @@ -455,7 +455,7 @@ mod test { let buf = vec![0x41, 0x02, 0x00, 0x00]; let mut writer = Vec::new(); - writer.write(buf.as_slice()).unwrap(); + writer.write(&buf).unwrap(); let mut reader = MemReader::new(writer); let f = reader.read_be_f32().unwrap(); @@ -523,7 +523,7 @@ mod bench { $b.iter(|| { let mut i = $start_index; while i < data.len() { - sum += u64_from_be_bytes(data.as_slice(), i, $size); + sum += u64_from_be_bytes(&data, i, $size); i += $stride; } }); diff --git a/src/libstd/old_io/fs.rs b/src/libstd/old_io/fs.rs index 67e3fddfd05..4e9c1b36055 100644 --- a/src/libstd/old_io/fs.rs +++ b/src/libstd/old_io/fs.rs @@ -840,7 +840,7 @@ mod test { macro_rules! error { ($e:expr, $s:expr) => ( match $e { Ok(_) => panic!("Unexpected success. Should've been: {:?}", $s), - Err(ref err) => assert!(err.to_string().contains($s.as_slice()), + Err(ref err) => assert!(err.to_string().contains($s), format!("`{}` did not contain `{}`", err, $s)) } ) } @@ -892,7 +892,7 @@ mod test { -1|0 => panic!("shouldn't happen"), n => str::from_utf8(&read_buf[..n]).unwrap().to_string() }; - assert_eq!(read_str.as_slice(), message); + assert_eq!(read_str, message); } check!(unlink(filename)); } @@ -907,7 +907,7 @@ mod test { if cfg!(unix) { error!(result, "no such file or directory"); } - error!(result, format!("path={}; mode=open; access=read", filename.display())); + error!(result, &format!("path={}; mode=open; access=read", filename.display())); } #[test] @@ -921,7 +921,7 @@ mod test { if cfg!(unix) { error!(result, "no such file or directory"); } - error!(result, format!("path={}", filename.display())); + error!(result, &format!("path={}", filename.display())); } #[test] @@ -1120,7 +1120,7 @@ mod test { None|Some("") => panic!("really shouldn't happen.."), Some(n) => format!("{}{}", prefix, n), }; - assert_eq!(expected.as_slice(), read_str); + assert_eq!(expected, read_str); } check!(unlink(f)); } @@ -1189,7 +1189,7 @@ mod test { error!(result, "couldn't recursively mkdir"); error!(result, "couldn't create directory"); error!(result, "mode=0700"); - error!(result, format!("path={}", file.display())); + error!(result, &format!("path={}", file.display())); } #[test] @@ -1255,9 +1255,9 @@ mod test { let to = Path::new("test/other-bogus-path"); error!(copy(&from, &to), - format!("couldn't copy path (the source path is not an \ - existing file; from={:?}; to={:?})", - from.display(), to.display())); + &format!("couldn't copy path (the source path is not an \ + existing file; from={:?}; to={:?})", + from.display(), to.display())); match copy(&from, &to) { Ok(..) => panic!(), @@ -1277,7 +1277,7 @@ mod test { check!(File::create(&input).write(b"hello")); check!(copy(&input, &out)); let contents = check!(File::open(&out).read_to_end()); - assert_eq!(contents.as_slice(), b"hello"); + assert_eq!(contents, b"hello"); assert_eq!(check!(input.stat()).perm, check!(out.stat()).perm); } diff --git a/src/libstd/old_io/mem.rs b/src/libstd/old_io/mem.rs index ddb364a703a..8f32703f200 100644 --- a/src/libstd/old_io/mem.rs +++ b/src/libstd/old_io/mem.rs @@ -17,7 +17,7 @@ use option::Option::None; use result::Result::{Err, Ok}; use old_io; use old_io::{Reader, Writer, Seek, Buffer, IoError, SeekStyle, IoResult}; -use slice::{self, AsSlice, SliceExt}; +use slice::{self, SliceExt}; use vec::Vec; const BUF_CAPACITY: uint = 128; @@ -92,7 +92,7 @@ impl MemWriter { /// Acquires an immutable reference to the underlying buffer of this /// `MemWriter`. #[inline] - pub fn get_ref<'a>(&'a self) -> &'a [u8] { self.buf.as_slice() } + pub fn get_ref<'a>(&'a self) -> &'a [u8] { &self.buf } /// Unwraps this `MemWriter`, returning the underlying buffer #[inline] @@ -147,7 +147,7 @@ impl MemReader { /// No method is exposed for acquiring a mutable reference to the buffer /// because it could corrupt the state of this `MemReader`. #[inline] - pub fn get_ref<'a>(&'a self) -> &'a [u8] { self.buf.as_slice() } + pub fn get_ref<'a>(&'a self) -> &'a [u8] { &self.buf } /// Unwraps this `MemReader`, returning the underlying buffer #[inline] @@ -407,7 +407,7 @@ mod test { writer.write(&[1, 2, 3]).unwrap(); writer.write(&[4, 5, 6, 7]).unwrap(); let b: &[_] = &[0, 1, 2, 3, 4, 5, 6, 7]; - assert_eq!(writer.as_slice(), b); + assert_eq!(writer, b); } #[test] @@ -511,24 +511,24 @@ mod test { #[test] fn test_slice_reader() { let in_buf = vec![0, 1, 2, 3, 4, 5, 6, 7]; - let mut reader = &mut in_buf.as_slice(); + let mut reader = &mut &*in_buf; let mut buf = []; assert_eq!(reader.read(&mut buf), Ok(0)); let mut buf = [0]; assert_eq!(reader.read(&mut buf), Ok(1)); assert_eq!(reader.len(), 7); let b: &[_] = &[0]; - assert_eq!(buf.as_slice(), b); + assert_eq!(buf, b); let mut buf = [0; 4]; assert_eq!(reader.read(&mut buf), Ok(4)); assert_eq!(reader.len(), 3); let b: &[_] = &[1, 2, 3, 4]; - assert_eq!(buf.as_slice(), b); + assert_eq!(buf, b); assert_eq!(reader.read(&mut buf), Ok(3)); let b: &[_] = &[5, 6, 7]; assert_eq!(&buf[..3], b); assert!(reader.read(&mut buf).is_err()); - let mut reader = &mut in_buf.as_slice(); + let mut reader = &mut &*in_buf; assert_eq!(reader.read_until(3).unwrap(), vec!(0, 1, 2, 3)); assert_eq!(reader.read_until(3).unwrap(), vec!(4, 5, 6, 7)); assert!(reader.read(&mut buf).is_err()); @@ -537,7 +537,7 @@ mod test { #[test] fn test_buf_reader() { let in_buf = vec![0, 1, 2, 3, 4, 5, 6, 7]; - let mut reader = BufReader::new(in_buf.as_slice()); + let mut reader = BufReader::new(&in_buf); let mut buf = []; assert_eq!(reader.read(&mut buf), Ok(0)); assert_eq!(reader.tell(), Ok(0)); @@ -555,7 +555,7 @@ mod test { let b: &[_] = &[5, 6, 7]; assert_eq!(&buf[..3], b); assert!(reader.read(&mut buf).is_err()); - let mut reader = BufReader::new(in_buf.as_slice()); + let mut reader = BufReader::new(&in_buf); assert_eq!(reader.read_until(3).unwrap(), vec!(0, 1, 2, 3)); assert_eq!(reader.read_until(3).unwrap(), vec!(4, 5, 6, 7)); assert!(reader.read(&mut buf).is_err()); @@ -664,7 +664,7 @@ mod test { b.iter(|| { let mut wr = MemWriter::new(); for _ in 0..times { - wr.write(src.as_slice()).unwrap(); + wr.write(&src).unwrap(); } let v = wr.into_inner(); @@ -722,7 +722,7 @@ mod test { for _i in 0u..10 { let mut buf = [0 as u8; 10]; rdr.read(&mut buf).unwrap(); - assert_eq!(buf.as_slice(), [5; 10].as_slice()); + assert_eq!(buf, [5; 10]); } } }); diff --git a/src/libstd/old_io/mod.rs b/src/libstd/old_io/mod.rs index c9cabe648b9..c3e4e7fc80d 100644 --- a/src/libstd/old_io/mod.rs +++ b/src/libstd/old_io/mod.rs @@ -1076,7 +1076,7 @@ pub trait Writer { #[inline] fn write_char(&mut self, c: char) -> IoResult<()> { let mut buf = [0u8; 4]; - let n = c.encode_utf8(buf.as_mut_slice()).unwrap_or(0); + let n = c.encode_utf8(&mut buf).unwrap_or(0); self.write_all(&buf[..n]) } @@ -1870,7 +1870,7 @@ mod tests { // fall back on good return r.read(buf); } - match behavior.as_mut_slice()[0] { + match (&mut **behavior)[0] { GoodBehavior(0) => (), GoodBehavior(ref mut x) => { *x -= 1; diff --git a/src/libstd/old_io/process.rs b/src/libstd/old_io/process.rs index 90395142494..195d33c41a6 100644 --- a/src/libstd/old_io/process.rs +++ b/src/libstd/old_io/process.rs @@ -239,8 +239,8 @@ impl Command { // if the env is currently just inheriting from the parent's, // materialize the parent's env into a hashtable. self.env = Some(os::env_as_bytes().into_iter().map(|(k, v)| { - (EnvKey(CString::from_slice(k.as_slice())), - CString::from_slice(v.as_slice())) + (EnvKey(CString::from_slice(&k)), + CString::from_slice(&v)) }).collect()); self.env.as_mut().unwrap() } @@ -440,7 +440,7 @@ impl sys::process::ProcessConfig<EnvKey, CString> for Command { &self.program } fn args(&self) -> &[CString] { - self.args.as_slice() + &self.args } fn env(&self) -> Option<&EnvMap> { self.env.as_ref() @@ -915,7 +915,7 @@ mod tests { fn test_process_output_output() { let ProcessOutput {status, output, error} = Command::new("echo").arg("hello").output().unwrap(); - let output_str = str::from_utf8(output.as_slice()).unwrap(); + let output_str = str::from_utf8(&output).unwrap(); assert!(status.success()); assert_eq!(output_str.trim().to_string(), "hello"); @@ -956,7 +956,7 @@ mod tests { fn test_wait_with_output_once() { let prog = Command::new("echo").arg("hello").spawn().unwrap(); let ProcessOutput {status, output, error} = prog.wait_with_output().unwrap(); - let output_str = str::from_utf8(output.as_slice()).unwrap(); + let output_str = str::from_utf8(&output).unwrap(); assert!(status.success()); assert_eq!(output_str.trim().to_string(), "hello"); @@ -1049,7 +1049,7 @@ mod tests { for &(ref k, ref v) in &r { // don't check windows magical empty-named variables assert!(k.is_empty() || - output.contains(format!("{}={}", *k, *v).as_slice()), + output.contains(&format!("{}={}", *k, *v)), "output doesn't contain `{}={}`\n{}", k, v, output); } @@ -1067,12 +1067,12 @@ mod tests { for &(ref k, ref v) in &r { // don't check android RANDOM variables if *k != "RANDOM".to_string() { - assert!(output.contains(format!("{}={}", - *k, - *v).as_slice()) || - output.contains(format!("{}=\'{}\'", - *k, - *v).as_slice())); + assert!(output.contains(&format!("{}={}", + *k, + *v)) || + output.contains(&format!("{}=\'{}\'", + *k, + *v))); } } } @@ -1091,13 +1091,13 @@ mod tests { None => {} Some(val) => { path_val = val; - new_env.push(("PATH", path_val.as_slice())) + new_env.push(("PATH", &path_val)) } } - let prog = env_cmd().env_set_all(new_env.as_slice()).spawn().unwrap(); + let prog = env_cmd().env_set_all(&new_env).spawn().unwrap(); let result = prog.wait_with_output().unwrap(); - let output = String::from_utf8_lossy(result.output.as_slice()).to_string(); + let output = String::from_utf8_lossy(&result.output).to_string(); assert!(output.contains("RUN_TEST_NEW_ENV=123"), "didn't find RUN_TEST_NEW_ENV inside of:\n\n{}", output); @@ -1107,7 +1107,7 @@ mod tests { fn test_add_to_env() { let prog = env_cmd().env("RUN_TEST_NEW_ENV", "123").spawn().unwrap(); let result = prog.wait_with_output().unwrap(); - let output = String::from_utf8_lossy(result.output.as_slice()).to_string(); + let output = String::from_utf8_lossy(&result.output).to_string(); assert!(output.contains("RUN_TEST_NEW_ENV=123"), "didn't find RUN_TEST_NEW_ENV inside of:\n\n{}", output); diff --git a/src/libstd/old_io/result.rs b/src/libstd/old_io/result.rs index 96b979860ae..f42cb6ce8c9 100644 --- a/src/libstd/old_io/result.rs +++ b/src/libstd/old_io/result.rs @@ -112,7 +112,7 @@ mod test { let mut buf = [0, 0]; reader.read(&mut buf).unwrap(); let b: &[_] = &[0, 1]; - assert_eq!(buf.as_slice(), b); + assert_eq!(buf, b); } #[test] diff --git a/src/libstd/old_io/util.rs b/src/libstd/old_io/util.rs index f78e3ac1f14..5ae239014d1 100644 --- a/src/libstd/old_io/util.rs +++ b/src/libstd/old_io/util.rs @@ -101,7 +101,7 @@ impl Reader for ZeroReader { impl Buffer for ZeroReader { fn fill_buf<'a>(&'a mut self) -> old_io::IoResult<&'a [u8]> { static DATA: [u8; 64] = [0; 64]; - Ok(DATA.as_slice()) + Ok(&DATA) } fn consume(&mut self, _amt: uint) {} @@ -321,7 +321,7 @@ mod test { fn test_null_writer() { let mut s = NullWriter; let buf = vec![0, 0, 0]; - s.write_all(buf.as_slice()).unwrap(); + s.write_all(&buf).unwrap(); s.flush().unwrap(); } @@ -329,7 +329,7 @@ mod test { fn test_zero_reader() { let mut s = ZeroReader; let mut buf = vec![1, 2, 3]; - assert_eq!(s.read(buf.as_mut_slice()), Ok(3)); + assert_eq!(s.read(&mut buf), Ok(3)); assert_eq!(vec![0, 0, 0], buf); } @@ -337,7 +337,7 @@ mod test { fn test_null_reader() { let mut r = NullReader; let mut buf = vec![0]; - assert!(r.read(buf.as_mut_slice()).is_err()); + assert!(r.read(&mut buf).is_err()); } #[test] diff --git a/src/libstd/old_path/posix.rs b/src/libstd/old_path/posix.rs index 8bcdd89623d..6bf2a30b7b1 100644 --- a/src/libstd/old_path/posix.rs +++ b/src/libstd/old_path/posix.rs @@ -131,25 +131,25 @@ impl GenericPathUnsafe for Path { v.push(SEP_BYTE); v.push_all(filename); // FIXME: this is slow - self.repr = Path::normalize(v.as_slice()); + self.repr = Path::normalize(&v); } None => { self.repr = Path::normalize(filename); } Some(idx) if &self.repr[idx+1..] == b".." => { let mut v = Vec::with_capacity(self.repr.len() + 1 + filename.len()); - v.push_all(self.repr.as_slice()); + v.push_all(&self.repr); v.push(SEP_BYTE); v.push_all(filename); // FIXME: this is slow - self.repr = Path::normalize(v.as_slice()); + self.repr = Path::normalize(&v); } Some(idx) => { let mut v = Vec::with_capacity(idx + 1 + filename.len()); v.push_all(&self.repr[..idx+1]); v.push_all(filename); // FIXME: this is slow - self.repr = Path::normalize(v.as_slice()); + self.repr = Path::normalize(&v); } } self.sepidx = self.repr.rposition_elem(&SEP_BYTE); @@ -162,11 +162,11 @@ impl GenericPathUnsafe for Path { self.repr = Path::normalize(path); } else { let mut v = Vec::with_capacity(self.repr.len() + path.len() + 1); - v.push_all(self.repr.as_slice()); + v.push_all(&self.repr); v.push(SEP_BYTE); v.push_all(path); // FIXME: this is slow - self.repr = Path::normalize(v.as_slice()); + self.repr = Path::normalize(&v); } self.sepidx = self.repr.rposition_elem(&SEP_BYTE); } @@ -176,7 +176,7 @@ impl GenericPathUnsafe for Path { impl GenericPath for Path { #[inline] fn as_vec<'a>(&'a self) -> &'a [u8] { - self.repr.as_slice() + &self.repr } fn into_vec(self) -> Vec<u8> { @@ -185,10 +185,10 @@ impl GenericPath for Path { fn dirname<'a>(&'a self) -> &'a [u8] { match self.sepidx { - None if b".." == self.repr => self.repr.as_slice(), + None if b".." == self.repr => &self.repr, None => dot_static, Some(0) => &self.repr[..1], - Some(idx) if &self.repr[idx+1..] == b".." => self.repr.as_slice(), + Some(idx) if &self.repr[idx+1..] == b".." => &self.repr, Some(idx) => &self.repr[..idx] } } @@ -197,7 +197,7 @@ impl GenericPath for Path { match self.sepidx { None if b"." == self.repr || b".." == self.repr => None, - None => Some(self.repr.as_slice()), + None => Some(&self.repr), Some(idx) if &self.repr[idx+1..] == b".." => None, Some(0) if self.repr[1..].is_empty() => None, Some(idx) => Some(&self.repr[idx+1..]) @@ -382,7 +382,7 @@ impl Path { pub fn components<'a>(&'a self) -> Components<'a> { let v = if self.repr[0] == SEP_BYTE { &self.repr[1..] - } else { self.repr.as_slice() }; + } else { &*self.repr }; let is_sep_byte: fn(&u8) -> bool = is_sep_byte; // coerce to fn ptr let mut ret = v.split(is_sep_byte); if v.is_empty() { @@ -557,14 +557,14 @@ mod tests { { let path = Path::new($path); let mo = path.display().as_cow(); - assert_eq!(mo.as_slice(), $exp); + assert_eq!(mo, $exp); } ); ($path:expr, $exp:expr, filename) => ( { let path = Path::new($path); let mo = path.filename_display().as_cow(); - assert_eq!(mo.as_slice(), $exp); + assert_eq!(mo, $exp); } ) } diff --git a/src/libstd/old_path/windows.rs b/src/libstd/old_path/windows.rs index 2e25403220d..54c070e1b7d 100644 --- a/src/libstd/old_path/windows.rs +++ b/src/libstd/old_path/windows.rs @@ -1337,10 +1337,10 @@ mod tests { let path = Path::new("foo"); let mo = path.display().as_cow(); - assert_eq!(mo.as_slice(), "foo"); + assert_eq!(mo, "foo"); let path = Path::new(b"\\"); let mo = path.filename_display().as_cow(); - assert_eq!(mo.as_slice(), ""); + assert_eq!(mo, ""); } #[test] diff --git a/src/libstd/os.rs b/src/libstd/os.rs index 64f9e16aee4..e29195b5525 100644 --- a/src/libstd/os.rs +++ b/src/libstd/os.rs @@ -649,7 +649,7 @@ fn real_args_as_bytes() -> Vec<Vec<u8>> { fn real_args() -> Vec<String> { real_args_as_bytes().into_iter() .map(|v| { - String::from_utf8_lossy(v.as_slice()).into_owned() + String::from_utf8_lossy(&v).into_owned() }).collect() } @@ -1442,7 +1442,7 @@ mod tests { let mut rng = rand::thread_rng(); let n = format!("TEST{}", rng.gen_ascii_chars().take(10u) .collect::<String>()); - assert!(getenv(n.as_slice()).is_none()); + assert!(getenv(&n).is_none()); n } @@ -1454,27 +1454,27 @@ mod tests { #[test] fn test_setenv() { let n = make_rand_name(); - setenv(n.as_slice(), "VALUE"); - assert_eq!(getenv(n.as_slice()), Some("VALUE".to_string())); + setenv(&n, "VALUE"); + assert_eq!(getenv(&n), Some("VALUE".to_string())); } #[test] fn test_unsetenv() { let n = make_rand_name(); - setenv(n.as_slice(), "VALUE"); - unsetenv(n.as_slice()); - assert_eq!(getenv(n.as_slice()), None); + setenv(&n, "VALUE"); + unsetenv(&n); + assert_eq!(getenv(&n), None); } #[test] #[ignore] fn test_setenv_overwrite() { let n = make_rand_name(); - setenv(n.as_slice(), "1"); - setenv(n.as_slice(), "2"); - assert_eq!(getenv(n.as_slice()), Some("2".to_string())); - setenv(n.as_slice(), ""); - assert_eq!(getenv(n.as_slice()), Some("".to_string())); + setenv(&n, "1"); + setenv(&n, "2"); + assert_eq!(getenv(&n), Some("2".to_string())); + setenv(&n, ""); + assert_eq!(getenv(&n), Some("".to_string())); } // Windows GetEnvironmentVariable requires some extra work to make sure @@ -1489,9 +1489,9 @@ mod tests { i += 1; } let n = make_rand_name(); - setenv(n.as_slice(), s.as_slice()); + setenv(&n, &s); debug!("{}", s.clone()); - assert_eq!(getenv(n.as_slice()), Some(s)); + assert_eq!(getenv(&n), Some(s)); } #[test] @@ -1524,7 +1524,7 @@ mod tests { for p in &e { let (n, v) = (*p).clone(); debug!("{}", n); - let v2 = getenv(n.as_slice()); + let v2 = getenv(&n); // MingW seems to set some funky environment variables like // "=C:=C:\MinGW\msys\1.0\bin" and "!::=::\" that are returned // from env() but not visible from getenv(). @@ -1536,10 +1536,10 @@ mod tests { fn test_env_set_get_huge() { let n = make_rand_name(); let s = repeat("x").take(10000).collect::<String>(); - setenv(n.as_slice(), s.as_slice()); - assert_eq!(getenv(n.as_slice()), Some(s)); - unsetenv(n.as_slice()); - assert_eq!(getenv(n.as_slice()), None); + setenv(&n, &s); + assert_eq!(getenv(&n), Some(s)); + unsetenv(&n); + assert_eq!(getenv(&n), None); } #[test] @@ -1547,7 +1547,7 @@ mod tests { let n = make_rand_name(); let mut e = env(); - setenv(n.as_slice(), "VALUE"); + setenv(&n, "VALUE"); assert!(!e.contains(&(n.clone(), "VALUE".to_string()))); e = env(); @@ -1577,7 +1577,7 @@ mod tests { assert!(os::homedir().is_none()); if let Some(s) = oldhome { - setenv("HOME", s.as_slice()); + setenv("HOME", s); } } @@ -1606,10 +1606,10 @@ mod tests { assert!(os::homedir() == Some(Path::new("/home/MountainView"))); if let Some(s) = oldhome { - setenv("HOME", s.as_slice()); + setenv("HOME", &s); } if let Some(s) = olduserprofile { - setenv("USERPROFILE", s.as_slice()); + setenv("USERPROFILE", &s); } } diff --git a/src/libstd/rand/mod.rs b/src/libstd/rand/mod.rs index e52d5ada0ef..8f9e966cbb2 100644 --- a/src/libstd/rand/mod.rs +++ b/src/libstd/rand/mod.rs @@ -469,7 +469,7 @@ mod test { 80, 81, 82, 83, 84, 85, 86, 87]; for &n in &lengths { let mut v = repeat(0u8).take(n).collect::<Vec<_>>(); - r.fill_bytes(v.as_mut_slice()); + r.fill_bytes(&mut v); // use this to get nicer error messages. for (i, &byte) in v.iter().enumerate() { @@ -619,8 +619,8 @@ mod test { #[test] fn test_std_rng_seeded() { let s = thread_rng().gen_iter::<uint>().take(256).collect::<Vec<uint>>(); - let mut ra: StdRng = SeedableRng::from_seed(s.as_slice()); - let mut rb: StdRng = SeedableRng::from_seed(s.as_slice()); + let mut ra: StdRng = SeedableRng::from_seed(&*s); + let mut rb: StdRng = SeedableRng::from_seed(&*s); assert!(order::equals(ra.gen_ascii_chars().take(100), rb.gen_ascii_chars().take(100))); } @@ -628,10 +628,10 @@ mod test { #[test] fn test_std_rng_reseed() { let s = thread_rng().gen_iter::<uint>().take(256).collect::<Vec<uint>>(); - let mut r: StdRng = SeedableRng::from_seed(s.as_slice()); + let mut r: StdRng = SeedableRng::from_seed(&*s); let string1 = r.gen_ascii_chars().take(100).collect::<String>(); - r.reseed(s.as_slice()); + r.reseed(&s); let string2 = r.gen_ascii_chars().take(100).collect::<String>(); assert_eq!(string1, string2); diff --git a/src/libstd/sync/mpsc/spsc_queue.rs b/src/libstd/sync/mpsc/spsc_queue.rs index c80aa567173..f0558c33d1e 100644 --- a/src/libstd/sync/mpsc/spsc_queue.rs +++ b/src/libstd/sync/mpsc/spsc_queue.rs @@ -274,7 +274,7 @@ mod test { // Ensure the borrowchecker works match queue.peek() { - Some(vec) => match vec.as_slice() { + Some(vec) => match &**vec { // Note that `pop` is not allowed here due to borrow [1] => {} _ => return diff --git a/src/libstd/sys/common/thread_info.rs b/src/libstd/sys/common/thread_info.rs index 7c9758ca924..ce67a584a0a 100644 --- a/src/libstd/sys/common/thread_info.rs +++ b/src/libstd/sys/common/thread_info.rs @@ -57,7 +57,7 @@ pub fn stack_guard() -> uint { pub fn set(stack_bounds: (uint, uint), stack_guard: uint, thread: Thread) { THREAD_INFO.with(|c| assert!(c.borrow().is_none())); match thread.name() { - Some(name) => unsafe { ::sys::thread::set_name(name.as_slice()); }, + Some(name) => unsafe { ::sys::thread::set_name(name); }, None => {} } THREAD_INFO.with(move |c| *c.borrow_mut() = Some(ThreadInfo{ diff --git a/src/libstd/sys/common/wtf8.rs b/src/libstd/sys/common/wtf8.rs index b30af10986b..04cba804e8d 100644 --- a/src/libstd/sys/common/wtf8.rs +++ b/src/libstd/sys/common/wtf8.rs @@ -140,7 +140,7 @@ impl ops::Deref for Wtf8Buf { impl fmt::Debug for Wtf8Buf { #[inline] fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> { - self.as_slice().fmt(formatter) + fmt::Debug::fmt(&**self, formatter) } } @@ -220,7 +220,7 @@ impl Wtf8Buf { #[inline] pub fn as_slice(&self) -> &Wtf8 { - unsafe { mem::transmute(self.bytes.as_slice()) } + unsafe { mem::transmute(&*self.bytes) } } /// Reserves capacity for at least `additional` more bytes to be inserted @@ -309,7 +309,7 @@ impl Wtf8Buf { /// or if `new_len` is not a code point boundary. #[inline] pub fn truncate(&mut self, new_len: uint) { - assert!(is_code_point_boundary(self.as_slice(), new_len)); + assert!(is_code_point_boundary(self, new_len)); self.bytes.truncate(new_len) } @@ -771,7 +771,7 @@ impl<'a> Iterator for EncodeWide<'a> { let mut buf = [0u16; 2]; self.code_points.next().map(|code_point| { - let n = encode_utf16_raw(code_point.value, buf.as_mut_slice()) + let n = encode_utf16_raw(code_point.value, &mut buf) .unwrap_or(0); if n == 2 { self.extra = buf[1]; } buf[0] @@ -798,7 +798,7 @@ impl<S: Writer + Hasher> Hash<S> for CodePoint { impl<S: Writer + Hasher> Hash<S> for Wtf8Buf { #[inline] fn hash(&self, state: &mut S) { - state.write(self.bytes.as_slice()); + state.write(&self.bytes); 0xfeu8.hash(state) } } @@ -843,8 +843,8 @@ mod tests { #[test] fn code_point_to_string() { - assert_eq!(format!("{:?}", CodePoint::from_char('a')).as_slice(), "U+0061"); - assert_eq!(format!("{:?}", CodePoint::from_char('💩')).as_slice(), "U+1F4A9"); + assert_eq!(format!("{:?}", CodePoint::from_char('a')), "U+0061"); + assert_eq!(format!("{:?}", CodePoint::from_char('💩')), "U+1F4A9"); } #[test] @@ -865,142 +865,142 @@ mod tests { #[test] fn wtf8buf_new() { - assert_eq!(Wtf8Buf::new().bytes.as_slice(), b""); + assert_eq!(Wtf8Buf::new().bytes, b""); } #[test] fn wtf8buf_from_str() { - assert_eq!(Wtf8Buf::from_str("").bytes.as_slice(), b""); - assert_eq!(Wtf8Buf::from_str("aé 💩").bytes.as_slice(), + assert_eq!(Wtf8Buf::from_str("").bytes, b""); + assert_eq!(Wtf8Buf::from_str("aé 💩").bytes, b"a\xC3\xA9 \xF0\x9F\x92\xA9"); } #[test] fn wtf8buf_from_string() { - assert_eq!(Wtf8Buf::from_string(String::from_str("")).bytes.as_slice(), b""); - assert_eq!(Wtf8Buf::from_string(String::from_str("aé 💩")).bytes.as_slice(), + assert_eq!(Wtf8Buf::from_string(String::from_str("")).bytes, b""); + assert_eq!(Wtf8Buf::from_string(String::from_str("aé 💩")).bytes, b"a\xC3\xA9 \xF0\x9F\x92\xA9"); } #[test] fn wtf8buf_from_wide() { - assert_eq!(Wtf8Buf::from_wide(&[]).bytes.as_slice(), b""); + assert_eq!(Wtf8Buf::from_wide(&[]).bytes, b""); assert_eq!(Wtf8Buf::from_wide( - &[0x61, 0xE9, 0x20, 0xD83D, 0xD83D, 0xDCA9]).bytes.as_slice(), + &[0x61, 0xE9, 0x20, 0xD83D, 0xD83D, 0xDCA9]).bytes, b"a\xC3\xA9 \xED\xA0\xBD\xF0\x9F\x92\xA9"); } #[test] fn wtf8buf_push_str() { let mut string = Wtf8Buf::new(); - assert_eq!(string.bytes.as_slice(), b""); + assert_eq!(string.bytes, b""); string.push_str("aé 💩"); - assert_eq!(string.bytes.as_slice(), b"a\xC3\xA9 \xF0\x9F\x92\xA9"); + assert_eq!(string.bytes, b"a\xC3\xA9 \xF0\x9F\x92\xA9"); } #[test] fn wtf8buf_push_char() { let mut string = Wtf8Buf::from_str("aé "); - assert_eq!(string.bytes.as_slice(), b"a\xC3\xA9 "); + assert_eq!(string.bytes, b"a\xC3\xA9 "); string.push_char('💩'); - assert_eq!(string.bytes.as_slice(), b"a\xC3\xA9 \xF0\x9F\x92\xA9"); + assert_eq!(string.bytes, b"a\xC3\xA9 \xF0\x9F\x92\xA9"); } #[test] fn wtf8buf_push() { let mut string = Wtf8Buf::from_str("aé "); - assert_eq!(string.bytes.as_slice(), b"a\xC3\xA9 "); + assert_eq!(string.bytes, b"a\xC3\xA9 "); string.push(CodePoint::from_char('💩')); - assert_eq!(string.bytes.as_slice(), b"a\xC3\xA9 \xF0\x9F\x92\xA9"); + assert_eq!(string.bytes, b"a\xC3\xA9 \xF0\x9F\x92\xA9"); fn c(value: u32) -> CodePoint { CodePoint::from_u32(value).unwrap() } let mut string = Wtf8Buf::new(); string.push(c(0xD83D)); // lead string.push(c(0xDCA9)); // trail - assert_eq!(string.bytes.as_slice(), b"\xF0\x9F\x92\xA9"); // Magic! + assert_eq!(string.bytes, b"\xF0\x9F\x92\xA9"); // Magic! let mut string = Wtf8Buf::new(); string.push(c(0xD83D)); // lead string.push(c(0x20)); // not surrogate string.push(c(0xDCA9)); // trail - assert_eq!(string.bytes.as_slice(), b"\xED\xA0\xBD \xED\xB2\xA9"); + assert_eq!(string.bytes, b"\xED\xA0\xBD \xED\xB2\xA9"); let mut string = Wtf8Buf::new(); string.push(c(0xD800)); // lead string.push(c(0xDBFF)); // lead - assert_eq!(string.bytes.as_slice(), b"\xED\xA0\x80\xED\xAF\xBF"); + assert_eq!(string.bytes, b"\xED\xA0\x80\xED\xAF\xBF"); let mut string = Wtf8Buf::new(); string.push(c(0xD800)); // lead string.push(c(0xE000)); // not surrogate - assert_eq!(string.bytes.as_slice(), b"\xED\xA0\x80\xEE\x80\x80"); + assert_eq!(string.bytes, b"\xED\xA0\x80\xEE\x80\x80"); let mut string = Wtf8Buf::new(); string.push(c(0xD7FF)); // not surrogate string.push(c(0xDC00)); // trail - assert_eq!(string.bytes.as_slice(), b"\xED\x9F\xBF\xED\xB0\x80"); + assert_eq!(string.bytes, b"\xED\x9F\xBF\xED\xB0\x80"); let mut string = Wtf8Buf::new(); string.push(c(0x61)); // not surrogate, < 3 bytes string.push(c(0xDC00)); // trail - assert_eq!(string.bytes.as_slice(), b"\x61\xED\xB0\x80"); + assert_eq!(string.bytes, b"\x61\xED\xB0\x80"); let mut string = Wtf8Buf::new(); string.push(c(0xDC00)); // trail - assert_eq!(string.bytes.as_slice(), b"\xED\xB0\x80"); + assert_eq!(string.bytes, b"\xED\xB0\x80"); } #[test] fn wtf8buf_push_wtf8() { let mut string = Wtf8Buf::from_str("aé"); - assert_eq!(string.bytes.as_slice(), b"a\xC3\xA9"); + assert_eq!(string.bytes, b"a\xC3\xA9"); string.push_wtf8(Wtf8::from_str(" 💩")); - assert_eq!(string.bytes.as_slice(), b"a\xC3\xA9 \xF0\x9F\x92\xA9"); + assert_eq!(string.bytes, b"a\xC3\xA9 \xF0\x9F\x92\xA9"); fn w(value: &[u8]) -> &Wtf8 { unsafe { transmute(value) } } let mut string = Wtf8Buf::new(); string.push_wtf8(w(b"\xED\xA0\xBD")); // lead string.push_wtf8(w(b"\xED\xB2\xA9")); // trail - assert_eq!(string.bytes.as_slice(), b"\xF0\x9F\x92\xA9"); // Magic! + assert_eq!(string.bytes, b"\xF0\x9F\x92\xA9"); // Magic! let mut string = Wtf8Buf::new(); string.push_wtf8(w(b"\xED\xA0\xBD")); // lead string.push_wtf8(w(b" ")); // not surrogate string.push_wtf8(w(b"\xED\xB2\xA9")); // trail - assert_eq!(string.bytes.as_slice(), b"\xED\xA0\xBD \xED\xB2\xA9"); + assert_eq!(string.bytes, b"\xED\xA0\xBD \xED\xB2\xA9"); let mut string = Wtf8Buf::new(); string.push_wtf8(w(b"\xED\xA0\x80")); // lead string.push_wtf8(w(b"\xED\xAF\xBF")); // lead - assert_eq!(string.bytes.as_slice(), b"\xED\xA0\x80\xED\xAF\xBF"); + assert_eq!(string.bytes, b"\xED\xA0\x80\xED\xAF\xBF"); let mut string = Wtf8Buf::new(); string.push_wtf8(w(b"\xED\xA0\x80")); // lead string.push_wtf8(w(b"\xEE\x80\x80")); // not surrogate - assert_eq!(string.bytes.as_slice(), b"\xED\xA0\x80\xEE\x80\x80"); + assert_eq!(string.bytes, b"\xED\xA0\x80\xEE\x80\x80"); let mut string = Wtf8Buf::new(); string.push_wtf8(w(b"\xED\x9F\xBF")); // not surrogate string.push_wtf8(w(b"\xED\xB0\x80")); // trail - assert_eq!(string.bytes.as_slice(), b"\xED\x9F\xBF\xED\xB0\x80"); + assert_eq!(string.bytes, b"\xED\x9F\xBF\xED\xB0\x80"); let mut string = Wtf8Buf::new(); string.push_wtf8(w(b"a")); // not surrogate, < 3 bytes string.push_wtf8(w(b"\xED\xB0\x80")); // trail - assert_eq!(string.bytes.as_slice(), b"\x61\xED\xB0\x80"); + assert_eq!(string.bytes, b"\x61\xED\xB0\x80"); let mut string = Wtf8Buf::new(); string.push_wtf8(w(b"\xED\xB0\x80")); // trail - assert_eq!(string.bytes.as_slice(), b"\xED\xB0\x80"); + assert_eq!(string.bytes, b"\xED\xB0\x80"); } #[test] fn wtf8buf_truncate() { let mut string = Wtf8Buf::from_str("aé"); string.truncate(1); - assert_eq!(string.bytes.as_slice(), b"a"); + assert_eq!(string.bytes, b"a"); } #[test] @@ -1038,15 +1038,15 @@ mod tests { fn f(values: &[u32]) -> Wtf8Buf { values.iter().map(|&c| CodePoint::from_u32(c).unwrap()).collect::<Wtf8Buf>() }; - assert_eq!(f(&[0x61, 0xE9, 0x20, 0x1F4A9]).bytes.as_slice(), b"a\xC3\xA9 \xF0\x9F\x92\xA9"); + assert_eq!(f(&[0x61, 0xE9, 0x20, 0x1F4A9]).bytes, b"a\xC3\xA9 \xF0\x9F\x92\xA9"); - assert_eq!(f(&[0xD83D, 0xDCA9]).bytes.as_slice(), b"\xF0\x9F\x92\xA9"); // Magic! - assert_eq!(f(&[0xD83D, 0x20, 0xDCA9]).bytes.as_slice(), b"\xED\xA0\xBD \xED\xB2\xA9"); - assert_eq!(f(&[0xD800, 0xDBFF]).bytes.as_slice(), b"\xED\xA0\x80\xED\xAF\xBF"); - assert_eq!(f(&[0xD800, 0xE000]).bytes.as_slice(), b"\xED\xA0\x80\xEE\x80\x80"); - assert_eq!(f(&[0xD7FF, 0xDC00]).bytes.as_slice(), b"\xED\x9F\xBF\xED\xB0\x80"); - assert_eq!(f(&[0x61, 0xDC00]).bytes.as_slice(), b"\x61\xED\xB0\x80"); - assert_eq!(f(&[0xDC00]).bytes.as_slice(), b"\xED\xB0\x80"); + assert_eq!(f(&[0xD83D, 0xDCA9]).bytes, b"\xF0\x9F\x92\xA9"); // Magic! + assert_eq!(f(&[0xD83D, 0x20, 0xDCA9]).bytes, b"\xED\xA0\xBD \xED\xB2\xA9"); + assert_eq!(f(&[0xD800, 0xDBFF]).bytes, b"\xED\xA0\x80\xED\xAF\xBF"); + assert_eq!(f(&[0xD800, 0xE000]).bytes, b"\xED\xA0\x80\xEE\x80\x80"); + assert_eq!(f(&[0xD7FF, 0xDC00]).bytes, b"\xED\x9F\xBF\xED\xB0\x80"); + assert_eq!(f(&[0x61, 0xDC00]).bytes, b"\x61\xED\xB0\x80"); + assert_eq!(f(&[0xDC00]).bytes, b"\xED\xB0\x80"); } #[test] @@ -1058,23 +1058,23 @@ mod tests { string }; - assert_eq!(e(&[0x61, 0xE9], &[0x20, 0x1F4A9]).bytes.as_slice(), + assert_eq!(e(&[0x61, 0xE9], &[0x20, 0x1F4A9]).bytes, b"a\xC3\xA9 \xF0\x9F\x92\xA9"); - assert_eq!(e(&[0xD83D], &[0xDCA9]).bytes.as_slice(), b"\xF0\x9F\x92\xA9"); // Magic! - assert_eq!(e(&[0xD83D, 0x20], &[0xDCA9]).bytes.as_slice(), b"\xED\xA0\xBD \xED\xB2\xA9"); - assert_eq!(e(&[0xD800], &[0xDBFF]).bytes.as_slice(), b"\xED\xA0\x80\xED\xAF\xBF"); - assert_eq!(e(&[0xD800], &[0xE000]).bytes.as_slice(), b"\xED\xA0\x80\xEE\x80\x80"); - assert_eq!(e(&[0xD7FF], &[0xDC00]).bytes.as_slice(), b"\xED\x9F\xBF\xED\xB0\x80"); - assert_eq!(e(&[0x61], &[0xDC00]).bytes.as_slice(), b"\x61\xED\xB0\x80"); - assert_eq!(e(&[], &[0xDC00]).bytes.as_slice(), b"\xED\xB0\x80"); + assert_eq!(e(&[0xD83D], &[0xDCA9]).bytes, b"\xF0\x9F\x92\xA9"); // Magic! + assert_eq!(e(&[0xD83D, 0x20], &[0xDCA9]).bytes, b"\xED\xA0\xBD \xED\xB2\xA9"); + assert_eq!(e(&[0xD800], &[0xDBFF]).bytes, b"\xED\xA0\x80\xED\xAF\xBF"); + assert_eq!(e(&[0xD800], &[0xE000]).bytes, b"\xED\xA0\x80\xEE\x80\x80"); + assert_eq!(e(&[0xD7FF], &[0xDC00]).bytes, b"\xED\x9F\xBF\xED\xB0\x80"); + assert_eq!(e(&[0x61], &[0xDC00]).bytes, b"\x61\xED\xB0\x80"); + assert_eq!(e(&[], &[0xDC00]).bytes, b"\xED\xB0\x80"); } #[test] fn wtf8buf_show() { let mut string = Wtf8Buf::from_str("aé 💩"); string.push(CodePoint::from_u32(0xD800).unwrap()); - assert_eq!(format!("{:?}", string).as_slice(), r#""aé 💩\u{D800}""#); + assert_eq!(format!("{:?}", string), r#""aé 💩\u{D800}""#); } #[test] @@ -1086,7 +1086,7 @@ mod tests { fn wtf8_show() { let mut string = Wtf8Buf::from_str("aé 💩"); string.push(CodePoint::from_u32(0xD800).unwrap()); - assert_eq!(format!("{:?}", string.as_slice()).as_slice(), r#""aé 💩\u{D800}""#); + assert_eq!(format!("{:?}", string), r#""aé 💩\u{D800}""#); } #[test] diff --git a/src/libstd/sys/unix/os_str.rs b/src/libstd/sys/unix/os_str.rs index a2c93dea6a4..023d951dc4f 100644 --- a/src/libstd/sys/unix/os_str.rs +++ b/src/libstd/sys/unix/os_str.rs @@ -51,7 +51,7 @@ impl Buf { } pub fn as_slice(&self) -> &Slice { - unsafe { mem::transmute(self.inner.as_slice()) } + unsafe { mem::transmute(&*self.inner) } } pub fn into_string(self) -> Result<String, Buf> { diff --git a/src/libstd/sys/windows/process.rs b/src/libstd/sys/windows/process.rs index 839263f1f17..eab60047aa2 100644 --- a/src/libstd/sys/windows/process.rs +++ b/src/libstd/sys/windows/process.rs @@ -389,7 +389,7 @@ fn make_command_line(prog: &CString, args: &[CString]) -> String { } let argvec: Vec<char> = arg.chars().collect(); for i in 0u..argvec.len() { - append_char_at(cmd, argvec.as_slice(), i); + append_char_at(cmd, &argvec, i); } if quote { cmd.push('"'); @@ -485,10 +485,9 @@ mod tests { fn test_make_command_line() { fn test_wrapper(prog: &str, args: &[&str]) -> String { make_command_line(&CString::from_slice(prog.as_bytes()), - args.iter() - .map(|a| CString::from_slice(a.as_bytes())) - .collect::<Vec<CString>>() - .as_slice()) + &args.iter() + .map(|a| CString::from_slice(a.as_bytes())) + .collect::<Vec<CString>>()) } assert_eq!( diff --git a/src/libstd/sys/windows/tty.rs b/src/libstd/sys/windows/tty.rs index f02c8e49f41..8a8b5309057 100644 --- a/src/libstd/sys/windows/tty.rs +++ b/src/libstd/sys/windows/tty.rs @@ -104,7 +104,7 @@ impl TTY { _ => (), }; utf16.truncate(num as uint); - let utf8 = match String::from_utf16(utf16.as_slice()) { + let utf8 = match String::from_utf16(&utf16) { Ok(utf8) => utf8.into_bytes(), Err(..) => return Err(invalid_encoding()), }; diff --git a/src/libstd/thread.rs b/src/libstd/thread.rs index 52399ff771e..eb967c9f4e3 100644 --- a/src/libstd/thread.rs +++ b/src/libstd/thread.rs @@ -156,7 +156,6 @@ use ops::{Drop, FnOnce}; use option::Option::{self, Some, None}; use result::Result::{Err, Ok}; use sync::{Mutex, Condvar, Arc}; -use str::Str; use string::String; use rt::{self, unwind}; use old_io::{Writer, stdio}; @@ -452,7 +451,7 @@ impl Thread { /// Get the thread's name. #[stable(feature = "rust1", since = "1.0.0")] pub fn name(&self) -> Option<&str> { - self.inner.name.as_ref().map(|s| s.as_slice()) + self.inner.name.as_ref().map(|s| &**s) } } @@ -574,7 +573,7 @@ mod test { fn test_join_success() { match Thread::scoped(move|| -> String { "Success!".to_string() - }).join().as_ref().map(|s| s.as_slice()) { + }).join().as_ref().map(|s| &**s) { result::Result::Ok("Success!") => (), _ => panic!() } |
