From 4f5b6927e8e428239082ecc17b85a0506bcc9a65 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 6 Aug 2014 18:58:43 -0700 Subject: std: Rename various slice traits for consistency ImmutableVector -> ImmutableSlice ImmutableEqVector -> ImmutableEqSlice ImmutableOrdVector -> ImmutableOrdSlice MutableVector -> MutableSlice MutableVectorAllocating -> MutableSliceAllocating MutableCloneableVector -> MutableCloneableSlice MutableOrdVector -> MutableOrdSlice These are all in the prelude so most code will not break. [breaking-change] --- src/libstd/ascii.rs | 2 +- src/libstd/collections/hashmap.rs | 2 +- src/libstd/dynamic_lib.rs | 2 +- src/libstd/io/buffered.rs | 2 +- src/libstd/io/comm_adapters.rs | 2 +- src/libstd/io/extensions.rs | 4 ++-- src/libstd/io/fs.rs | 2 +- src/libstd/io/mem.rs | 2 +- src/libstd/io/mod.rs | 2 +- src/libstd/io/net/ip.rs | 2 +- src/libstd/io/net/tcp.rs | 2 +- src/libstd/io/signal.rs | 2 +- src/libstd/io/stdio.rs | 2 +- src/libstd/num/i16.rs | 2 +- src/libstd/num/i32.rs | 2 +- src/libstd/num/i64.rs | 2 +- src/libstd/num/i8.rs | 2 +- src/libstd/num/int.rs | 2 +- src/libstd/num/strconv.rs | 2 +- src/libstd/num/u16.rs | 2 +- src/libstd/num/u32.rs | 2 +- src/libstd/num/u64.rs | 2 +- src/libstd/num/u8.rs | 2 +- src/libstd/num/uint.rs | 2 +- src/libstd/os.rs | 4 ++-- src/libstd/path/mod.rs | 2 +- src/libstd/path/posix.rs | 2 +- src/libstd/path/windows.rs | 2 +- src/libstd/prelude.rs | 8 ++++---- src/libstd/rand/os.rs | 4 ++-- src/libstd/rt/backtrace.rs | 6 +++--- 31 files changed, 39 insertions(+), 39 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/ascii.rs b/src/libstd/ascii.rs index e8352dcd40c..6e442a018a0 100644 --- a/src/libstd/ascii.rs +++ b/src/libstd/ascii.rs @@ -19,7 +19,7 @@ use fmt; use iter::Iterator; use mem; use option::{Option, Some, None}; -use slice::{ImmutableVector, MutableVector, Vector}; +use slice::{ImmutableSlice, MutableSlice, Vector}; use str::{Str, StrSlice}; use str; use string::String; diff --git a/src/libstd/collections/hashmap.rs b/src/libstd/collections/hashmap.rs index 2de9db1cc93..1bb92c487c6 100644 --- a/src/libstd/collections/hashmap.rs +++ b/src/libstd/collections/hashmap.rs @@ -2743,7 +2743,7 @@ mod test_set { use prelude::*; use super::HashSet; - use slice::ImmutableEqVector; + use slice::ImmutableEqSlice; use collections::Collection; #[test] diff --git a/src/libstd/dynamic_lib.rs b/src/libstd/dynamic_lib.rs index 1ac37458e24..f3bdd987122 100644 --- a/src/libstd/dynamic_lib.rs +++ b/src/libstd/dynamic_lib.rs @@ -29,7 +29,7 @@ use option::*; use os; use path::{Path,GenericPath}; use result::*; -use slice::{Vector,ImmutableVector}; +use slice::{Vector,ImmutableSlice}; use str; use string::String; use vec::Vec; diff --git a/src/libstd/io/buffered.rs b/src/libstd/io/buffered.rs index 71ec5242118..a9b0b33c59a 100644 --- a/src/libstd/io/buffered.rs +++ b/src/libstd/io/buffered.rs @@ -19,7 +19,7 @@ use iter::ExactSize; use ops::Drop; use option::{Some, None, Option}; use result::{Ok, Err}; -use slice::{ImmutableVector, MutableVector}; +use slice::{ImmutableSlice, MutableSlice}; use slice; use vec::Vec; diff --git a/src/libstd/io/comm_adapters.rs b/src/libstd/io/comm_adapters.rs index cd5887b7add..53b5fbe3894 100644 --- a/src/libstd/io/comm_adapters.rs +++ b/src/libstd/io/comm_adapters.rs @@ -15,7 +15,7 @@ use comm::{Sender, Receiver}; use io; use option::{None, Option, Some}; use result::{Ok, Err}; -use slice::{bytes, MutableVector, ImmutableVector}; +use slice::{bytes, MutableSlice, ImmutableSlice}; use str::StrSlice; use super::{Reader, Writer, IoResult}; use vec::Vec; diff --git a/src/libstd/io/extensions.rs b/src/libstd/io/extensions.rs index 5215aec5dfb..c40ea749376 100644 --- a/src/libstd/io/extensions.rs +++ b/src/libstd/io/extensions.rs @@ -21,7 +21,7 @@ use option::{Option, Some, None}; use result::{Ok, Err}; use io; use io::{IoError, IoResult, Reader}; -use slice::{ImmutableVector, Vector}; +use slice::{ImmutableSlice, Vector}; use ptr::RawPtr; /// An iterator that reads a single byte on each iteration, @@ -153,7 +153,7 @@ pub fn u64_to_be_bytes(n: u64, size: uint, f: |v: &[u8]| -> T) -> T { pub fn u64_from_be_bytes(data: &[u8], start: uint, size: uint) -> u64 { use ptr::{copy_nonoverlapping_memory}; use mem::from_be64; - use slice::MutableVector; + use slice::MutableSlice; assert!(size <= 8u); diff --git a/src/libstd/io/fs.rs b/src/libstd/io/fs.rs index 7335511ed85..f95f41509a0 100644 --- a/src/libstd/io/fs.rs +++ b/src/libstd/io/fs.rs @@ -70,7 +70,7 @@ use path; use result::{Err, Ok}; use rt::rtio::LocalIo; use rt::rtio; -use slice::ImmutableVector; +use slice::ImmutableSlice; use string::String; use vec::Vec; diff --git a/src/libstd/io/mem.rs b/src/libstd/io/mem.rs index 8879f7e2506..e6866f45948 100644 --- a/src/libstd/io/mem.rs +++ b/src/libstd/io/mem.rs @@ -19,7 +19,7 @@ use result::{Err, Ok}; use io; use io::{Reader, Writer, Seek, Buffer, IoError, SeekStyle, IoResult}; use slice; -use slice::{Vector, ImmutableVector, MutableVector}; +use slice::{Vector, ImmutableSlice, MutableSlice}; use vec::Vec; static BUF_CAPACITY: uint = 128; diff --git a/src/libstd/io/mod.rs b/src/libstd/io/mod.rs index d098f9a6479..fa21c108ea3 100644 --- a/src/libstd/io/mod.rs +++ b/src/libstd/io/mod.rs @@ -235,7 +235,7 @@ use os; use boxed::Box; use result::{Ok, Err, Result}; use rt::rtio; -use slice::{Vector, MutableVector, ImmutableVector}; +use slice::{Vector, MutableSlice, ImmutableSlice}; use str::{Str, StrSlice}; use str; use string::String; diff --git a/src/libstd/io/net/ip.rs b/src/libstd/io/net/ip.rs index 0f864c7be5e..ed76cdc276b 100644 --- a/src/libstd/io/net/ip.rs +++ b/src/libstd/io/net/ip.rs @@ -21,7 +21,7 @@ use from_str::FromStr; use iter::Iterator; use option::{Option, None, Some}; use str::StrSlice; -use slice::{MutableCloneableVector, ImmutableVector, MutableVector}; +use slice::{MutableCloneableSlice, ImmutableSlice, MutableSlice}; pub type Port = u16; diff --git a/src/libstd/io/net/tcp.rs b/src/libstd/io/net/tcp.rs index 0b0c22ed887..25ede848b88 100644 --- a/src/libstd/io/net/tcp.rs +++ b/src/libstd/io/net/tcp.rs @@ -21,7 +21,7 @@ use clone::Clone; use collections::MutableSeq; use io::IoResult; use iter::Iterator; -use slice::ImmutableVector; +use slice::ImmutableSlice; use result::{Ok,Err}; use io::net::addrinfo::get_host_addresses; use io::net::ip::SocketAddr; diff --git a/src/libstd/io/signal.rs b/src/libstd/io/signal.rs index c126866e715..0ef13df513f 100644 --- a/src/libstd/io/signal.rs +++ b/src/libstd/io/signal.rs @@ -30,7 +30,7 @@ use option::{Some, None}; use boxed::Box; use result::{Ok, Err}; use rt::rtio::{IoFactory, LocalIo, RtioSignal, Callback}; -use slice::ImmutableVector; +use slice::ImmutableSlice; use vec::Vec; /// Signals that can be sent and received diff --git a/src/libstd/io/stdio.rs b/src/libstd/io/stdio.rs index 5b33c3671b4..fea161c426a 100644 --- a/src/libstd/io/stdio.rs +++ b/src/libstd/io/stdio.rs @@ -41,7 +41,7 @@ use rt; use rt::local::Local; use rt::task::Task; use rt::rtio::{DontClose, IoFactory, LocalIo, RtioFileStream, RtioTTY}; -use slice::ImmutableVector; +use slice::ImmutableSlice; use str::StrSlice; use uint; diff --git a/src/libstd/num/i16.rs b/src/libstd/num/i16.rs index 9b97513935c..f5b2f31a127 100644 --- a/src/libstd/num/i16.rs +++ b/src/libstd/num/i16.rs @@ -17,7 +17,7 @@ use from_str::FromStr; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::ImmutableVector; +use slice::ImmutableSlice; use string::String; pub use core::i16::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/i32.rs b/src/libstd/num/i32.rs index 03dcbb0f6d6..623a10725c8 100644 --- a/src/libstd/num/i32.rs +++ b/src/libstd/num/i32.rs @@ -17,7 +17,7 @@ use from_str::FromStr; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::ImmutableVector; +use slice::ImmutableSlice; use string::String; pub use core::i32::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/i64.rs b/src/libstd/num/i64.rs index 347b5b4b93c..ffb1307908c 100644 --- a/src/libstd/num/i64.rs +++ b/src/libstd/num/i64.rs @@ -17,7 +17,7 @@ use from_str::FromStr; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::ImmutableVector; +use slice::ImmutableSlice; use string::String; pub use core::i64::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/i8.rs b/src/libstd/num/i8.rs index fd6f96a0f97..4fbb7381238 100644 --- a/src/libstd/num/i8.rs +++ b/src/libstd/num/i8.rs @@ -17,7 +17,7 @@ use from_str::FromStr; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::ImmutableVector; +use slice::ImmutableSlice; use string::String; pub use core::i8::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/int.rs b/src/libstd/num/int.rs index 1888d6a519e..7821306f5fc 100644 --- a/src/libstd/num/int.rs +++ b/src/libstd/num/int.rs @@ -17,7 +17,7 @@ use from_str::FromStr; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::ImmutableVector; +use slice::ImmutableSlice; use string::String; pub use core::int::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/strconv.rs b/src/libstd/num/strconv.rs index 37378518dc8..407c8ea61d9 100644 --- a/src/libstd/num/strconv.rs +++ b/src/libstd/num/strconv.rs @@ -20,7 +20,7 @@ use num::{Float, FPNaN, FPInfinite, ToPrimitive}; use num; use ops::{Add, Sub, Mul, Div, Rem, Neg}; use option::{None, Option, Some}; -use slice::{ImmutableVector, MutableVector}; +use slice::{ImmutableSlice, MutableSlice}; use std::cmp::{PartialOrd, PartialEq}; use str::StrSlice; use string::String; diff --git a/src/libstd/num/u16.rs b/src/libstd/num/u16.rs index 727d7561062..0f00f99e980 100644 --- a/src/libstd/num/u16.rs +++ b/src/libstd/num/u16.rs @@ -17,7 +17,7 @@ use from_str::FromStr; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::ImmutableVector; +use slice::ImmutableSlice; use string::String; pub use core::u16::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/u32.rs b/src/libstd/num/u32.rs index d18bfdf9fba..e6c6bc377b7 100644 --- a/src/libstd/num/u32.rs +++ b/src/libstd/num/u32.rs @@ -17,7 +17,7 @@ use from_str::FromStr; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::ImmutableVector; +use slice::ImmutableSlice; use string::String; pub use core::u32::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/u64.rs b/src/libstd/num/u64.rs index 53e88a96f33..7eb9e1a082f 100644 --- a/src/libstd/num/u64.rs +++ b/src/libstd/num/u64.rs @@ -17,7 +17,7 @@ use from_str::FromStr; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::ImmutableVector; +use slice::ImmutableSlice; use string::String; pub use core::u64::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/u8.rs b/src/libstd/num/u8.rs index e6cbd14bf41..300dd3bcc01 100644 --- a/src/libstd/num/u8.rs +++ b/src/libstd/num/u8.rs @@ -17,7 +17,7 @@ use from_str::FromStr; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::ImmutableVector; +use slice::ImmutableSlice; use string::String; pub use core::u8::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/uint.rs b/src/libstd/num/uint.rs index 41c4caf4006..0adc22e3214 100644 --- a/src/libstd/num/uint.rs +++ b/src/libstd/num/uint.rs @@ -17,7 +17,7 @@ use from_str::FromStr; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::ImmutableVector; +use slice::ImmutableSlice; use string::String; pub use core::uint::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/os.rs b/src/libstd/os.rs index 85445e49139..0d604aab8ac 100644 --- a/src/libstd/os.rs +++ b/src/libstd/os.rs @@ -45,7 +45,7 @@ use path::{Path, GenericPath, BytesContainer}; use ptr::RawPtr; use ptr; use result::{Err, Ok, Result}; -use slice::{Vector, ImmutableVector, MutableVector, ImmutableEqVector}; +use slice::{Vector, ImmutableSlice, MutableSlice, ImmutableEqSlice}; use str::{Str, StrSlice, StrAllocating}; use string::String; use sync::atomic::{AtomicInt, INIT_ATOMIC_INT, SeqCst}; @@ -145,7 +145,7 @@ pub mod win32 { use option::{None, Option}; use option; use os::TMPBUF_SZ; - use slice::{MutableVector, ImmutableVector}; + use slice::{MutableSlice, ImmutableSlice}; use string::String; use str::StrSlice; use vec::Vec; diff --git a/src/libstd/path/mod.rs b/src/libstd/path/mod.rs index d290a5f8c63..087b3e4c53f 100644 --- a/src/libstd/path/mod.rs +++ b/src/libstd/path/mod.rs @@ -75,7 +75,7 @@ use str; use str::{MaybeOwned, Str, StrSlice}; use string::String; use slice::Vector; -use slice::{ImmutableEqVector, ImmutableVector}; +use slice::{ImmutableEqSlice, ImmutableSlice}; use vec::Vec; /// Typedef for POSIX file paths. diff --git a/src/libstd/path/posix.rs b/src/libstd/path/posix.rs index 9a4bc11f5c0..81abf3e7669 100644 --- a/src/libstd/path/posix.rs +++ b/src/libstd/path/posix.rs @@ -22,7 +22,7 @@ use option::{Option, None, Some}; use str::Str; use str; use slice::{CloneableVector, Splits, Vector, VectorVector, - ImmutableEqVector, ImmutableVector}; + ImmutableEqSlice, ImmutableSlice}; use vec::Vec; use super::{BytesContainer, GenericPath, GenericPathUnsafe}; diff --git a/src/libstd/path/windows.rs b/src/libstd/path/windows.rs index c3a217bf940..ca8eae769bb 100644 --- a/src/libstd/path/windows.rs +++ b/src/libstd/path/windows.rs @@ -23,7 +23,7 @@ use io::Writer; use iter::{AdditiveIterator, DoubleEndedIterator, Extendable, Iterator, Map}; use mem; use option::{Option, Some, None}; -use slice::{Vector, ImmutableVector}; +use slice::{Vector, ImmutableSlice}; use str::{CharSplits, Str, StrAllocating, StrVector, StrSlice}; use string::String; use unicode::char::UnicodeChar; diff --git a/src/libstd/prelude.rs b/src/libstd/prelude.rs index aa407ce8e0c..d5d24d17d86 100644 --- a/src/libstd/prelude.rs +++ b/src/libstd/prelude.rs @@ -83,11 +83,11 @@ #[doc(no_inline)] pub use tuple::{Tuple5, Tuple6, Tuple7, Tuple8}; #[doc(no_inline)] pub use tuple::{Tuple9, Tuple10, Tuple11, Tuple12}; #[doc(no_inline)] pub use slice::{CloneableVector, ImmutableCloneableVector}; -#[doc(no_inline)] pub use slice::{MutableCloneableVector, MutableOrdVector}; -#[doc(no_inline)] pub use slice::{ImmutableVector, MutableVector}; -#[doc(no_inline)] pub use slice::{ImmutableEqVector, ImmutableOrdVector}; +#[doc(no_inline)] pub use slice::{MutableCloneableSlice, MutableOrdSlice}; +#[doc(no_inline)] pub use slice::{ImmutableSlice, MutableSlice}; +#[doc(no_inline)] pub use slice::{ImmutableEqSlice, ImmutableOrdSlice}; #[doc(no_inline)] pub use slice::{Vector, VectorVector}; -#[doc(no_inline)] pub use slice::MutableVectorAllocating; +#[doc(no_inline)] pub use slice::MutableSliceAllocating; #[doc(no_inline)] pub use string::String; #[doc(no_inline)] pub use vec::Vec; diff --git a/src/libstd/rand/os.rs b/src/libstd/rand/os.rs index ffe8e539ffb..2be4129883f 100644 --- a/src/libstd/rand/os.rs +++ b/src/libstd/rand/os.rs @@ -70,7 +70,7 @@ mod imp { use rand::Rng; use result::{Ok}; use self::libc::{c_int, size_t}; - use slice::MutableVector; + use slice::MutableSlice; /// A random number generator that retrieves randomness straight from /// the operating system. Platform sources: @@ -138,7 +138,7 @@ mod imp { use rt::stack; use self::libc::{DWORD, BYTE, LPCSTR, BOOL}; use self::libc::types::os::arch::extra::{LONG_PTR}; - use slice::MutableVector; + use slice::MutableSlice; type HCRYPTPROV = LONG_PTR; diff --git a/src/libstd/rt/backtrace.rs b/src/libstd/rt/backtrace.rs index b86937e4213..a4491b2ab1d 100644 --- a/src/libstd/rt/backtrace.rs +++ b/src/libstd/rt/backtrace.rs @@ -258,7 +258,7 @@ mod imp { pub fn write(w: &mut Writer) -> IoResult<()> { use iter::{Iterator, range}; use result; - use slice::{MutableVector}; + use slice::{MutableSlice}; extern { fn backtrace(buf: *mut *mut libc::c_void, @@ -398,7 +398,7 @@ mod imp { use path::GenericPath; use ptr::RawPtr; use ptr; - use slice::{ImmutableVector, MutableVector}; + use slice::{ImmutableSlice, MutableSlice}; //////////////////////////////////////////////////////////////////////// // libbacktrace.h API @@ -670,7 +670,7 @@ mod imp { use path::Path; use result::{Ok, Err}; use rt::mutex::{StaticNativeMutex, NATIVE_MUTEX_INIT}; - use slice::ImmutableVector; + use slice::ImmutableSlice; use str::StrSlice; use dynamic_lib::DynamicLibrary; -- cgit 1.4.1-3-g733a5 From fbc93082ec92c3534c4b27fef35d78d97bd77fd2 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 6 Aug 2014 20:03:55 -0700 Subject: std: Rename slice::Vector to Slice This required some contortions because importing both raw::Slice and slice::Slice makes rustc crash. Since `Slice` is in the prelude, this renaming is unlikely to casue breakage. [breaking-change] --- src/libcollections/slice.rs | 4 ++-- src/libcollections/string.rs | 11 +++++++---- src/libcollections/vec.rs | 13 +++++++------ src/libcore/fmt/mod.rs | 2 +- src/libcore/option.rs | 4 ++-- src/libcore/prelude.rs | 2 +- src/libcore/slice.rs | 26 ++++++++++++++------------ src/libgraphviz/maybe_owned_vec.rs | 4 ++-- src/librustc/front/test.rs | 2 +- src/libstd/ascii.rs | 2 +- src/libstd/c_vec.rs | 4 ++-- src/libstd/dynamic_lib.rs | 2 +- src/libstd/io/extensions.rs | 2 +- src/libstd/io/mem.rs | 2 +- src/libstd/io/mod.rs | 2 +- src/libstd/os.rs | 2 +- src/libstd/path/mod.rs | 2 +- src/libstd/path/posix.rs | 4 ++-- src/libstd/path/windows.rs | 2 +- src/libstd/prelude.rs | 2 +- 20 files changed, 50 insertions(+), 44 deletions(-) (limited to 'src/libstd') diff --git a/src/libcollections/slice.rs b/src/libcollections/slice.rs index d73fa499848..9f4bdaf3da3 100644 --- a/src/libcollections/slice.rs +++ b/src/libcollections/slice.rs @@ -98,7 +98,7 @@ use {Collection, MutableSeq}; use vec::Vec; pub use core::slice::{ref_slice, mut_ref_slice, Splits, Windows}; -pub use core::slice::{Chunks, Vector, ImmutableSlice, ImmutableEqSlice}; +pub use core::slice::{Chunks, Slice, ImmutableSlice, ImmutableEqSlice}; pub use core::slice::{ImmutableOrdSlice, MutableSlice, Items, MutItems}; pub use core::slice::{MutSplits, MutChunks}; pub use core::slice::{bytes, MutableCloneableSlice}; @@ -116,7 +116,7 @@ pub trait VectorVector { fn connect_vec(&self, sep: &T) -> Vec; } -impl<'a, T: Clone, V: Vector> VectorVector for &'a [V] { +impl<'a, T: Clone, V: Slice> VectorVector for &'a [V] { fn concat_vec(&self) -> Vec { let size = self.iter().fold(0u, |acc, v| acc + v.as_slice().len()); let mut result = Vec::with_capacity(size); diff --git a/src/libcollections/string.rs b/src/libcollections/string.rs index 952f28da2af..d8cc80fdf41 100644 --- a/src/libcollections/string.rs +++ b/src/libcollections/string.rs @@ -18,12 +18,15 @@ use core::default::Default; use core::fmt; use core::mem; use core::ptr; -use core::raw::Slice; +// FIXME: ICE's abound if you import the `Slice` type while importing `Slice` trait +use RawSlice = core::raw::Slice; +use core::slice::Slice; use {Collection, Mutable, MutableSeq}; use hash; use str; -use str::{CharRange, StrAllocating, MaybeOwned, Owned, Slice}; +use str::{CharRange, StrAllocating, MaybeOwned, Owned}; +use MaybeOwnedSlice = str::Slice; // So many `Slice`s... use vec::Vec; /// A growable string stored as a UTF-8 encoded buffer. @@ -130,7 +133,7 @@ impl String { /// ``` pub fn from_utf8_lossy<'a>(v: &'a [u8]) -> MaybeOwned<'a> { if str::is_utf8(v) { - return Slice(unsafe { mem::transmute(v) }) + return MaybeOwnedSlice(unsafe { mem::transmute(v) }) } static TAG_CONT_U8: u8 = 128u8; @@ -496,7 +499,7 @@ impl String { unsafe { // Attempt to not use an intermediate buffer by just pushing bytes // directly onto this string. - let slice = Slice { + let slice = RawSlice { data: self.vec.as_ptr().offset(cur_len as int), len: 4, }; diff --git a/src/libcollections/vec.rs b/src/libcollections/vec.rs index 4c1530d1bfb..78809e32fe9 100644 --- a/src/libcollections/vec.rs +++ b/src/libcollections/vec.rs @@ -13,7 +13,8 @@ use core::prelude::*; use alloc::heap::{allocate, reallocate, deallocate}; -use core::raw::Slice; +use RawSlice = core::raw::Slice; +use core::slice::Slice; use core::cmp::max; use core::default::Default; use core::fmt; @@ -506,7 +507,7 @@ impl PartialOrd for Vec { impl Eq for Vec {} -impl> Equiv for Vec { +impl> Equiv for Vec { #[inline] fn equiv(&self, other: &V) -> bool { self.as_slice() == other.as_slice() } } @@ -720,7 +721,7 @@ impl Vec { #[inline] pub fn as_mut_slice<'a>(&'a mut self) -> &'a mut [T] { unsafe { - mem::transmute(Slice { + mem::transmute(RawSlice { data: self.as_mut_ptr() as *const T, len: self.len, }) @@ -1502,7 +1503,7 @@ impl Vec { } } -impl Vector for Vec { +impl Slice for Vec { /// Work with `self` as a slice. /// /// # Example @@ -1515,11 +1516,11 @@ impl Vector for Vec { /// ``` #[inline] fn as_slice<'a>(&'a self) -> &'a [T] { - unsafe { mem::transmute(Slice { data: self.as_ptr(), len: self.len }) } + unsafe { mem::transmute(RawSlice { data: self.as_ptr(), len: self.len }) } } } -impl> Add> for Vec { +impl> Add> for Vec { #[inline] fn add(&self, rhs: &V) -> Vec { let mut res = Vec::with_capacity(self.len() + rhs.as_slice().len()); diff --git a/src/libcore/fmt/mod.rs b/src/libcore/fmt/mod.rs index 61f0d09453f..942f7f8b710 100644 --- a/src/libcore/fmt/mod.rs +++ b/src/libcore/fmt/mod.rs @@ -24,7 +24,7 @@ use option::{Option, Some, None}; use ops::Deref; use result::{Ok, Err}; use result; -use slice::{Vector, ImmutableSlice}; +use slice::{Slice, ImmutableSlice}; use slice; use str::StrSlice; use str; diff --git a/src/libcore/option.rs b/src/libcore/option.rs index f8293aeb03d..74d87712a02 100644 --- a/src/libcore/option.rs +++ b/src/libcore/option.rs @@ -143,7 +143,7 @@ use cmp::{PartialEq, Eq, Ord}; use default::Default; -use slice::Vector; +use slice::Slice; use iter::{Iterator, DoubleEndedIterator, FromIterator, ExactSize}; use mem; use slice; @@ -518,7 +518,7 @@ impl Option { // Trait implementations ///////////////////////////////////////////////////////////////////////////// -impl Vector for Option { +impl Slice for Option { /// Convert from `Option` to `&[T]` (without copying) #[inline] fn as_slice<'a>(&'a self) -> &'a [T] { diff --git a/src/libcore/prelude.rs b/src/libcore/prelude.rs index 08a431b0d1f..2d5c9c0e960 100644 --- a/src/libcore/prelude.rs +++ b/src/libcore/prelude.rs @@ -63,4 +63,4 @@ pub use tuple::{Tuple5, Tuple6, Tuple7, Tuple8}; pub use tuple::{Tuple9, Tuple10, Tuple11, Tuple12}; pub use slice::{ImmutableEqSlice, ImmutableOrdSlice}; pub use slice::{MutableSlice}; -pub use slice::{Vector, ImmutableSlice}; +pub use slice::{Slice, ImmutableSlice}; diff --git a/src/libcore/slice.rs b/src/libcore/slice.rs index 6c8bacaef48..3a619b45e53 100644 --- a/src/libcore/slice.rs +++ b/src/libcore/slice.rs @@ -47,7 +47,9 @@ use ptr::RawPtr; use mem; use mem::size_of; use kinds::marker; -use raw::{Repr, Slice}; +use raw::{Repr}; +// Avoid conflicts with *both* the Slice trait (buggy) and the `slice::raw` module. +use RawSlice = raw::Slice; // // Extension traits @@ -240,7 +242,7 @@ impl<'a,T> ImmutableSlice<'a, T> for &'a [T] { assert!(start <= end); assert!(end <= self.len()); unsafe { - transmute(Slice { + transmute(RawSlice { data: self.as_ptr().offset(start as int), len: (end - start) }) @@ -380,7 +382,7 @@ impl<'a,T> ImmutableSlice<'a, T> for &'a [T] { fn shift_ref(&mut self) -> Option<&'a T> { unsafe { - let s: &mut Slice = transmute(self); + let s: &mut RawSlice = transmute(self); match raw::shift_ptr(s) { Some(p) => Some(&*p), None => None @@ -390,7 +392,7 @@ impl<'a,T> ImmutableSlice<'a, T> for &'a [T] { fn pop_ref(&mut self) -> Option<&'a T> { unsafe { - let s: &mut Slice = transmute(self); + let s: &mut RawSlice = transmute(self); match raw::pop_ptr(s) { Some(p) => Some(&*p), None => None @@ -620,7 +622,7 @@ impl<'a,T> MutableSlice<'a, T> for &'a mut [T] { assert!(start <= end); assert!(end <= self.len()); unsafe { - transmute(Slice { + transmute(RawSlice { data: self.as_mut_ptr().offset(start as int) as *const T, len: (end - start) }) @@ -685,7 +687,7 @@ impl<'a,T> MutableSlice<'a, T> for &'a mut [T] { fn mut_shift_ref(&mut self) -> Option<&'a mut T> { unsafe { - let s: &mut Slice = transmute(self); + let s: &mut RawSlice = transmute(self); match raw::shift_ptr(s) { // FIXME #13933: this `&` -> `&mut` cast is a little // dubious @@ -697,7 +699,7 @@ impl<'a,T> MutableSlice<'a, T> for &'a mut [T] { fn mut_pop_ref(&mut self) -> Option<&'a mut T> { unsafe { - let s: &mut Slice = transmute(self); + let s: &mut RawSlice = transmute(self); match raw::pop_ptr(s) { // FIXME #13933: this `&` -> `&mut` cast is a little // dubious @@ -859,12 +861,12 @@ impl<'a, T:Clone> MutableCloneableSlice for &'a mut [T] { // /// Any vector that can be represented as a slice. -pub trait Vector { +pub trait Slice { /// Work with `self` as a slice. fn as_slice<'a>(&'a self) -> &'a [T]; } -impl<'a,T> Vector for &'a [T] { +impl<'a,T> Slice for &'a [T] { #[inline(always)] fn as_slice<'a>(&'a self) -> &'a [T] { *self } } @@ -1323,7 +1325,7 @@ impl<'a, T> DoubleEndedIterator<&'a mut [T]> for MutChunks<'a, T> { */ pub fn ref_slice<'a, A>(s: &'a A) -> &'a [A] { unsafe { - transmute(Slice { data: s, len: 1 }) + transmute(RawSlice { data: s, len: 1 }) } } @@ -1333,7 +1335,7 @@ pub fn ref_slice<'a, A>(s: &'a A) -> &'a [A] { pub fn mut_ref_slice<'a, A>(s: &'a mut A) -> &'a mut [A] { unsafe { let ptr: *const A = transmute(s); - transmute(Slice { data: ptr, len: 1 }) + transmute(RawSlice { data: ptr, len: 1 }) } } @@ -1460,7 +1462,7 @@ impl<'a,T:PartialEq> PartialEq for &'a [T] { impl<'a,T:Eq> Eq for &'a [T] {} -impl<'a,T:PartialEq, V: Vector> Equiv for &'a [T] { +impl<'a,T:PartialEq, V: Slice> Equiv for &'a [T] { #[inline] fn equiv(&self, other: &V) -> bool { self.as_slice() == other.as_slice() } } diff --git a/src/libgraphviz/maybe_owned_vec.rs b/src/libgraphviz/maybe_owned_vec.rs index 9e52af72138..987f214b153 100644 --- a/src/libgraphviz/maybe_owned_vec.rs +++ b/src/libgraphviz/maybe_owned_vec.rs @@ -84,7 +84,7 @@ impl<'a, T: Ord> Ord for MaybeOwnedVector<'a, T> { } } -impl<'a, T: PartialEq, V: Vector> Equiv for MaybeOwnedVector<'a, T> { +impl<'a, T: PartialEq, V: Slice> Equiv for MaybeOwnedVector<'a, T> { fn equiv(&self, other: &V) -> bool { self.as_slice() == other.as_slice() } @@ -99,7 +99,7 @@ impl<'a, T: PartialEq, V: Vector> Equiv for MaybeOwnedVector<'a, T> { // In any case, with `Vector` in place, the client can just use // `as_slice` if they prefer that over `match`. -impl<'b,T> slice::Vector for MaybeOwnedVector<'b,T> { +impl<'b,T> Slice for MaybeOwnedVector<'b,T> { fn as_slice<'a>(&'a self) -> &'a [T] { match self { &Growable(ref v) => v.as_slice(), diff --git a/src/librustc/front/test.rs b/src/librustc/front/test.rs index 14cda7d62c3..ceb7dcc5456 100644 --- a/src/librustc/front/test.rs +++ b/src/librustc/front/test.rs @@ -379,7 +379,7 @@ fn mk_test_module(cx: &TestCtxt, reexport_test_harness_main: &Option { @@ -145,7 +145,7 @@ impl CVec { } } -impl Vector for CVec { +impl Slice for CVec { /// View the stored data as a slice. fn as_slice<'a>(&'a self) -> &'a [T] { unsafe { diff --git a/src/libstd/dynamic_lib.rs b/src/libstd/dynamic_lib.rs index f3bdd987122..766f92292b1 100644 --- a/src/libstd/dynamic_lib.rs +++ b/src/libstd/dynamic_lib.rs @@ -29,7 +29,7 @@ use option::*; use os; use path::{Path,GenericPath}; use result::*; -use slice::{Vector,ImmutableSlice}; +use slice::{Slice,ImmutableSlice}; use str; use string::String; use vec::Vec; diff --git a/src/libstd/io/extensions.rs b/src/libstd/io/extensions.rs index c40ea749376..12caa715865 100644 --- a/src/libstd/io/extensions.rs +++ b/src/libstd/io/extensions.rs @@ -21,7 +21,7 @@ use option::{Option, Some, None}; use result::{Ok, Err}; use io; use io::{IoError, IoResult, Reader}; -use slice::{ImmutableSlice, Vector}; +use slice::{ImmutableSlice, Slice}; use ptr::RawPtr; /// An iterator that reads a single byte on each iteration, diff --git a/src/libstd/io/mem.rs b/src/libstd/io/mem.rs index e6866f45948..ea9d08171e6 100644 --- a/src/libstd/io/mem.rs +++ b/src/libstd/io/mem.rs @@ -19,7 +19,7 @@ use result::{Err, Ok}; use io; use io::{Reader, Writer, Seek, Buffer, IoError, SeekStyle, IoResult}; use slice; -use slice::{Vector, ImmutableSlice, MutableSlice}; +use slice::{Slice, ImmutableSlice, MutableSlice}; use vec::Vec; static BUF_CAPACITY: uint = 128; diff --git a/src/libstd/io/mod.rs b/src/libstd/io/mod.rs index fa21c108ea3..c95dd8618ed 100644 --- a/src/libstd/io/mod.rs +++ b/src/libstd/io/mod.rs @@ -235,7 +235,7 @@ use os; use boxed::Box; use result::{Ok, Err, Result}; use rt::rtio; -use slice::{Vector, MutableSlice, ImmutableSlice}; +use slice::{Slice, MutableSlice, ImmutableSlice}; use str::{Str, StrSlice}; use str; use string::String; diff --git a/src/libstd/os.rs b/src/libstd/os.rs index 0d604aab8ac..6f148eea83c 100644 --- a/src/libstd/os.rs +++ b/src/libstd/os.rs @@ -45,7 +45,7 @@ use path::{Path, GenericPath, BytesContainer}; use ptr::RawPtr; use ptr; use result::{Err, Ok, Result}; -use slice::{Vector, ImmutableSlice, MutableSlice, ImmutableEqSlice}; +use slice::{Slice, ImmutableSlice, MutableSlice, ImmutableEqSlice}; use str::{Str, StrSlice, StrAllocating}; use string::String; use sync::atomic::{AtomicInt, INIT_ATOMIC_INT, SeqCst}; diff --git a/src/libstd/path/mod.rs b/src/libstd/path/mod.rs index 087b3e4c53f..16236c01472 100644 --- a/src/libstd/path/mod.rs +++ b/src/libstd/path/mod.rs @@ -74,7 +74,7 @@ use option::{Option, None, Some}; use str; use str::{MaybeOwned, Str, StrSlice}; use string::String; -use slice::Vector; +use slice::Slice; use slice::{ImmutableEqSlice, ImmutableSlice}; use vec::Vec; diff --git a/src/libstd/path/posix.rs b/src/libstd/path/posix.rs index 81abf3e7669..321ec438c20 100644 --- a/src/libstd/path/posix.rs +++ b/src/libstd/path/posix.rs @@ -21,7 +21,7 @@ use iter::{DoubleEndedIterator, AdditiveIterator, Extendable, Iterator, Map}; use option::{Option, None, Some}; use str::Str; use str; -use slice::{CloneableVector, Splits, Vector, VectorVector, +use slice::{CloneableVector, Splits, Slice, VectorVector, ImmutableEqSlice, ImmutableSlice}; use vec::Vec; @@ -367,7 +367,7 @@ impl Path { /// Returns a normalized byte vector representation of a path, by removing all empty /// components, and unnecessary . and .. components. - fn normalize+CloneableVector>(v: V) -> Vec { + fn normalize+CloneableVector>(v: V) -> Vec { // borrowck is being very picky let val = { let is_abs = !v.as_slice().is_empty() && v.as_slice()[0] == SEP_BYTE; diff --git a/src/libstd/path/windows.rs b/src/libstd/path/windows.rs index ca8eae769bb..8402d751bf2 100644 --- a/src/libstd/path/windows.rs +++ b/src/libstd/path/windows.rs @@ -23,7 +23,7 @@ use io::Writer; use iter::{AdditiveIterator, DoubleEndedIterator, Extendable, Iterator, Map}; use mem; use option::{Option, Some, None}; -use slice::{Vector, ImmutableSlice}; +use slice::{Slice, ImmutableSlice}; use str::{CharSplits, Str, StrAllocating, StrVector, StrSlice}; use string::String; use unicode::char::UnicodeChar; diff --git a/src/libstd/prelude.rs b/src/libstd/prelude.rs index d5d24d17d86..3d4ab66a94f 100644 --- a/src/libstd/prelude.rs +++ b/src/libstd/prelude.rs @@ -86,7 +86,7 @@ #[doc(no_inline)] pub use slice::{MutableCloneableSlice, MutableOrdSlice}; #[doc(no_inline)] pub use slice::{ImmutableSlice, MutableSlice}; #[doc(no_inline)] pub use slice::{ImmutableEqSlice, ImmutableOrdSlice}; -#[doc(no_inline)] pub use slice::{Vector, VectorVector}; +#[doc(no_inline)] pub use slice::{Slice, VectorVector}; #[doc(no_inline)] pub use slice::MutableSliceAllocating; #[doc(no_inline)] pub use string::String; #[doc(no_inline)] pub use vec::Vec; -- cgit 1.4.1-3-g733a5 From 76d46af6d405ac29d2d508705eacdcffad63e4c1 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 6 Aug 2014 20:49:52 -0700 Subject: core: Rename ImmutableEqSlice to ImmutablePartialEqSlice This is in the prelude and won't break much code. [breaking-change] --- src/libcollections/slice.rs | 2 +- src/libcore/prelude.rs | 2 +- src/libcore/slice.rs | 4 ++-- src/libstd/collections/hashmap.rs | 2 +- src/libstd/os.rs | 2 +- src/libstd/path/mod.rs | 2 +- src/libstd/path/posix.rs | 2 +- src/libstd/prelude.rs | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src/libstd') diff --git a/src/libcollections/slice.rs b/src/libcollections/slice.rs index 9f4bdaf3da3..9a625469140 100644 --- a/src/libcollections/slice.rs +++ b/src/libcollections/slice.rs @@ -98,7 +98,7 @@ use {Collection, MutableSeq}; use vec::Vec; pub use core::slice::{ref_slice, mut_ref_slice, Splits, Windows}; -pub use core::slice::{Chunks, Slice, ImmutableSlice, ImmutableEqSlice}; +pub use core::slice::{Chunks, Slice, ImmutableSlice, ImmutablePartialEqSlice}; pub use core::slice::{ImmutableOrdSlice, MutableSlice, Items, MutItems}; pub use core::slice::{MutSplits, MutChunks}; pub use core::slice::{bytes, MutableCloneableSlice}; diff --git a/src/libcore/prelude.rs b/src/libcore/prelude.rs index 2d5c9c0e960..ead48092c4d 100644 --- a/src/libcore/prelude.rs +++ b/src/libcore/prelude.rs @@ -61,6 +61,6 @@ pub use str::{Str, StrSlice}; pub use tuple::{Tuple1, Tuple2, Tuple3, Tuple4}; pub use tuple::{Tuple5, Tuple6, Tuple7, Tuple8}; pub use tuple::{Tuple9, Tuple10, Tuple11, Tuple12}; -pub use slice::{ImmutableEqSlice, ImmutableOrdSlice}; +pub use slice::{ImmutablePartialEqSlice, ImmutableOrdSlice}; pub use slice::{MutableSlice}; pub use slice::{Slice, ImmutableSlice}; diff --git a/src/libcore/slice.rs b/src/libcore/slice.rs index b914a26d94c..e0088c4761b 100644 --- a/src/libcore/slice.rs +++ b/src/libcore/slice.rs @@ -773,7 +773,7 @@ impl<'a,T> MutableSlice<'a, T> for &'a mut [T] { } /// Extension methods for vectors contain `PartialEq` elements. -pub trait ImmutableEqSlice { +pub trait ImmutablePartialEqSlice { /// Find the first index containing a matching value fn position_elem(&self, t: &T) -> Option; @@ -790,7 +790,7 @@ pub trait ImmutableEqSlice { fn ends_with(&self, needle: &[T]) -> bool; } -impl<'a,T:PartialEq> ImmutableEqSlice for &'a [T] { +impl<'a,T:PartialEq> ImmutablePartialEqSlice for &'a [T] { #[inline] fn position_elem(&self, x: &T) -> Option { self.iter().position(|y| *x == *y) diff --git a/src/libstd/collections/hashmap.rs b/src/libstd/collections/hashmap.rs index 1bb92c487c6..b8f8bd41a2d 100644 --- a/src/libstd/collections/hashmap.rs +++ b/src/libstd/collections/hashmap.rs @@ -2743,7 +2743,7 @@ mod test_set { use prelude::*; use super::HashSet; - use slice::ImmutableEqSlice; + use slice::ImmutablePartialEqSlice; use collections::Collection; #[test] diff --git a/src/libstd/os.rs b/src/libstd/os.rs index 6f148eea83c..6a00368f9a2 100644 --- a/src/libstd/os.rs +++ b/src/libstd/os.rs @@ -45,7 +45,7 @@ use path::{Path, GenericPath, BytesContainer}; use ptr::RawPtr; use ptr; use result::{Err, Ok, Result}; -use slice::{Slice, ImmutableSlice, MutableSlice, ImmutableEqSlice}; +use slice::{Slice, ImmutableSlice, MutableSlice, ImmutablePartialEqSlice}; use str::{Str, StrSlice, StrAllocating}; use string::String; use sync::atomic::{AtomicInt, INIT_ATOMIC_INT, SeqCst}; diff --git a/src/libstd/path/mod.rs b/src/libstd/path/mod.rs index 16236c01472..d24c2e2266d 100644 --- a/src/libstd/path/mod.rs +++ b/src/libstd/path/mod.rs @@ -75,7 +75,7 @@ use str; use str::{MaybeOwned, Str, StrSlice}; use string::String; use slice::Slice; -use slice::{ImmutableEqSlice, ImmutableSlice}; +use slice::{ImmutablePartialEqSlice, ImmutableSlice}; use vec::Vec; /// Typedef for POSIX file paths. diff --git a/src/libstd/path/posix.rs b/src/libstd/path/posix.rs index 321ec438c20..0a7817c3e00 100644 --- a/src/libstd/path/posix.rs +++ b/src/libstd/path/posix.rs @@ -22,7 +22,7 @@ use option::{Option, None, Some}; use str::Str; use str; use slice::{CloneableVector, Splits, Slice, VectorVector, - ImmutableEqSlice, ImmutableSlice}; + ImmutablePartialEqSlice, ImmutableSlice}; use vec::Vec; use super::{BytesContainer, GenericPath, GenericPathUnsafe}; diff --git a/src/libstd/prelude.rs b/src/libstd/prelude.rs index 3d4ab66a94f..eb6dcc1f1a5 100644 --- a/src/libstd/prelude.rs +++ b/src/libstd/prelude.rs @@ -85,7 +85,7 @@ #[doc(no_inline)] pub use slice::{CloneableVector, ImmutableCloneableVector}; #[doc(no_inline)] pub use slice::{MutableCloneableSlice, MutableOrdSlice}; #[doc(no_inline)] pub use slice::{ImmutableSlice, MutableSlice}; -#[doc(no_inline)] pub use slice::{ImmutableEqSlice, ImmutableOrdSlice}; +#[doc(no_inline)] pub use slice::{ImmutablePartialEqSlice, ImmutableOrdSlice}; #[doc(no_inline)] pub use slice::{Slice, VectorVector}; #[doc(no_inline)] pub use slice::MutableSliceAllocating; #[doc(no_inline)] pub use string::String; -- cgit 1.4.1-3-g733a5