diff options
| author | Kevin Ballard <kevin@sb.org> | 2014-05-07 21:53:11 -0700 |
|---|---|---|
| committer | Kevin Ballard <kevin@sb.org> | 2014-05-08 12:08:01 -0700 |
| commit | 9fb8741b2ec6cf44256b7241123fcb81a4b21a68 (patch) | |
| tree | 3d156d330710162c23b7e02924746daf2c2efc97 /src/libstd | |
| parent | 300d865fa4642f0a76b2676539efa3155ceaeddf (diff) | |
| download | rust-9fb8741b2ec6cf44256b7241123fcb81a4b21a68.tar.gz rust-9fb8741b2ec6cf44256b7241123fcb81a4b21a68.zip | |
Handle breakage after libcore split
API Changes: - &[T] and ~[T] no longer support the addition operator (+)
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/ascii.rs | 2 | ||||
| -rw-r--r-- | src/libstd/num/i16.rs | 3 | ||||
| -rw-r--r-- | src/libstd/num/i32.rs | 3 | ||||
| -rw-r--r-- | src/libstd/num/i64.rs | 3 | ||||
| -rw-r--r-- | src/libstd/num/i8.rs | 3 | ||||
| -rw-r--r-- | src/libstd/num/int.rs | 3 | ||||
| -rw-r--r-- | src/libstd/num/int_macros.rs | 3 | ||||
| -rw-r--r-- | src/libstd/num/strconv.rs | 2 | ||||
| -rw-r--r-- | src/libstd/num/u16.rs | 3 | ||||
| -rw-r--r-- | src/libstd/num/u32.rs | 3 | ||||
| -rw-r--r-- | src/libstd/num/u64.rs | 3 | ||||
| -rw-r--r-- | src/libstd/num/u8.rs | 3 | ||||
| -rw-r--r-- | src/libstd/num/uint.rs | 3 | ||||
| -rw-r--r-- | src/libstd/num/uint_macros.rs | 3 | ||||
| -rw-r--r-- | src/libstd/slice.rs | 34 | ||||
| -rw-r--r-- | src/libstd/str.rs | 9 |
16 files changed, 28 insertions, 55 deletions
diff --git a/src/libstd/ascii.rs b/src/libstd/ascii.rs index 32f78c23aa7..f45ec8a6742 100644 --- a/src/libstd/ascii.rs +++ b/src/libstd/ascii.rs @@ -13,7 +13,7 @@ use to_str::{IntoStr}; use str; use str::Str; -use str::StrSlice; +use str::{StrAllocating, StrSlice}; use str::OwnedStr; use container::Container; use cast; diff --git a/src/libstd/num/i16.rs b/src/libstd/num/i16.rs index 4bd2ba07634..d8f1c108b74 100644 --- a/src/libstd/num/i16.rs +++ b/src/libstd/num/i16.rs @@ -11,11 +11,10 @@ //! Operations and constants for signed 16-bits integers (`i16` type) use from_str::FromStr; -use iter::Iterator; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::{ImmutableVector, OwnedVector}; +use slice::ImmutableVector; use str; pub use core::i16::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/i32.rs b/src/libstd/num/i32.rs index 3c3acfae3c0..9cc8981fc13 100644 --- a/src/libstd/num/i32.rs +++ b/src/libstd/num/i32.rs @@ -11,11 +11,10 @@ //! Operations and constants for signed 32-bits integers (`i32` type) use from_str::FromStr; -use iter::Iterator; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::{ImmutableVector, OwnedVector}; +use slice::ImmutableVector; use str; pub use core::i32::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/i64.rs b/src/libstd/num/i64.rs index ad0fe1c08ef..4f7fe32cc70 100644 --- a/src/libstd/num/i64.rs +++ b/src/libstd/num/i64.rs @@ -11,11 +11,10 @@ //! Operations and constants for signed 64-bits integers (`i64` type) use from_str::FromStr; -use iter::Iterator; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::{ImmutableVector, OwnedVector}; +use slice::ImmutableVector; use str; pub use core::i64::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/i8.rs b/src/libstd/num/i8.rs index bd40a2c53b6..bea315d8683 100644 --- a/src/libstd/num/i8.rs +++ b/src/libstd/num/i8.rs @@ -11,11 +11,10 @@ //! Operations and constants for signed 8-bits integers (`i8` type) use from_str::FromStr; -use iter::Iterator; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::{ImmutableVector, OwnedVector}; +use slice::ImmutableVector; use str; pub use core::i8::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/int.rs b/src/libstd/num/int.rs index d9552ee3340..d6a7fd1660b 100644 --- a/src/libstd/num/int.rs +++ b/src/libstd/num/int.rs @@ -11,11 +11,10 @@ //! Operations and constants for architecture-sized signed integers (`int` type) use from_str::FromStr; -use iter::Iterator; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::{ImmutableVector, OwnedVector}; +use slice::ImmutableVector; use str; pub use core::int::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/int_macros.rs b/src/libstd/num/int_macros.rs index f7813c31d4d..fcdb63f5ad5 100644 --- a/src/libstd/num/int_macros.rs +++ b/src/libstd/num/int_macros.rs @@ -77,6 +77,9 @@ impl ToStrRadix for $T { /// Convert to a string in a given base. #[inline] fn to_str_radix(&self, radix: uint) -> ~str { + use slice::Vector; + use str::StrAllocating; + let mut buf = ::vec::Vec::new(); strconv::int_to_str_bytes_common(*self, radix, strconv::SignNeg, |i| { buf.push(i); diff --git a/src/libstd/num/strconv.rs b/src/libstd/num/strconv.rs index ebcef6ddc5f..4769b17fb2b 100644 --- a/src/libstd/num/strconv.rs +++ b/src/libstd/num/strconv.rs @@ -21,7 +21,7 @@ use ops::{Add, Sub, Mul, Div, Rem, Neg}; use option::{None, Option, Some}; use slice::{CloneableVector, ImmutableVector, MutableVector}; use std::cmp::{Ord, Eq}; -use str::{Str, StrSlice}; +use str::{StrAllocating, StrSlice}; use strbuf::StrBuf; use vec::Vec; diff --git a/src/libstd/num/u16.rs b/src/libstd/num/u16.rs index dd6a838df9b..5c93ca6c36b 100644 --- a/src/libstd/num/u16.rs +++ b/src/libstd/num/u16.rs @@ -11,11 +11,10 @@ //! Operations and constants for unsigned 16-bits integers (`u16` type) use from_str::FromStr; -use iter::Iterator; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::{ImmutableVector, OwnedVector}; +use slice::ImmutableVector; use str; pub use core::u16::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/u32.rs b/src/libstd/num/u32.rs index bb05938969d..436eae7cd14 100644 --- a/src/libstd/num/u32.rs +++ b/src/libstd/num/u32.rs @@ -11,11 +11,10 @@ //! Operations and constants for unsigned 32-bits integers (`u32` type) use from_str::FromStr; -use iter::Iterator; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::{ImmutableVector, OwnedVector}; +use slice::ImmutableVector; use str; pub use core::u32::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/u64.rs b/src/libstd/num/u64.rs index f38806e1527..c654d6fbe31 100644 --- a/src/libstd/num/u64.rs +++ b/src/libstd/num/u64.rs @@ -11,11 +11,10 @@ //! Operations and constants for unsigned 64-bits integer (`u64` type) use from_str::FromStr; -use iter::Iterator; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::{ImmutableVector, OwnedVector}; +use slice::ImmutableVector; use str; pub use core::u64::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/u8.rs b/src/libstd/num/u8.rs index 87fed563a15..7051b9191be 100644 --- a/src/libstd/num/u8.rs +++ b/src/libstd/num/u8.rs @@ -11,11 +11,10 @@ //! Operations and constants for unsigned 8-bits integers (`u8` type) use from_str::FromStr; -use iter::Iterator; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::{ImmutableVector, OwnedVector}; +use slice::ImmutableVector; use str; pub use core::u8::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/uint.rs b/src/libstd/num/uint.rs index 61ab97e86b8..d1c3e96b2c9 100644 --- a/src/libstd/num/uint.rs +++ b/src/libstd/num/uint.rs @@ -11,11 +11,10 @@ //! Operations and constants for architecture-sized unsigned integers (`uint` type) use from_str::FromStr; -use iter::Iterator; use num::{ToStrRadix, FromStrRadix}; use num::strconv; use option::Option; -use slice::{ImmutableVector, OwnedVector}; +use slice::ImmutableVector; use str; pub use core::uint::{BITS, BYTES, MIN, MAX}; diff --git a/src/libstd/num/uint_macros.rs b/src/libstd/num/uint_macros.rs index 814ea0e4274..0795238a49c 100644 --- a/src/libstd/num/uint_macros.rs +++ b/src/libstd/num/uint_macros.rs @@ -78,6 +78,9 @@ impl ToStrRadix for $T { /// Convert to a string in a given base. #[inline] fn to_str_radix(&self, radix: uint) -> ~str { + use slice::Vector; + use str::StrAllocating; + let mut buf = ::vec::Vec::new(); strconv::int_to_str_bytes_common(*self, radix, strconv::SignNone, |i| { buf.push(i); diff --git a/src/libstd/slice.rs b/src/libstd/slice.rs index f769ce5b319..2650c39bdb8 100644 --- a/src/libstd/slice.rs +++ b/src/libstd/slice.rs @@ -279,26 +279,6 @@ impl<T: Clone> Iterator<~[T]> for Permutations<T> { } } -#[cfg(not(test))] -impl<'a,T:Clone, V: Vector<T>> Add<V, Vec<T>> for &'a [T] { - #[inline] - fn add(&self, rhs: &V) -> Vec<T> { - let rhs = rhs.as_slice(); - let mut res = Vec::with_capacity(self.len() + rhs.len()); - res.push_all(*self); - res.push_all(rhs); - res - } -} - -#[cfg(not(test))] -impl<T:Clone, V: Vector<T>> Add<V, Vec<T>> for ~[T] { - #[inline] - fn add(&self, rhs: &V) -> Vec<T> { - self.as_slice() + rhs.as_slice() - } -} - /// Extension methods for vector slices with cloneable elements pub trait CloneableVector<T> { /// Copy `self` into a new owned vector @@ -313,6 +293,11 @@ impl<'a, T: Clone> CloneableVector<T> for &'a [T] { /// Returns a copy of `v`. #[inline] fn to_owned(&self) -> ~[T] { + use RawVec = core::raw::Vec; + use rt::global_heap::{malloc_raw, exchange_free}; + use num::{CheckedAdd, CheckedMul}; + use option::Expect; + let len = self.len(); let data_size = len.checked_mul(&mem::size_of::<T>()); let data_size = data_size.expect("overflow in to_owned()"); @@ -2143,15 +2128,6 @@ mod bench { } #[bench] - fn add(b: &mut Bencher) { - let xs: &[int] = [5, ..10]; - let ys: &[int] = [5, ..10]; - b.iter(|| { - xs + ys; - }); - } - - #[bench] fn concat(b: &mut Bencher) { let xss: Vec<Vec<uint>> = Vec::from_fn(100, |i| range(0, i).collect()); b.iter(|| { diff --git a/src/libstd/str.rs b/src/libstd/str.rs index fb2d85657e8..fb3dcc97287 100644 --- a/src/libstd/str.rs +++ b/src/libstd/str.rs @@ -667,12 +667,11 @@ impl<'a> fmt::Show for MaybeOwned<'a> { /// Unsafe operations pub mod raw { use cast; - use iter::Iterator; use libc; use ptr::RawPtr; use raw::Slice; - use slice::ImmutableVector; - use str::is_utf8; + use slice::CloneableVector; + use str::{is_utf8, StrAllocating}; pub use core::str::raw::{from_utf8, c_str_to_static_slice, slice_bytes}; pub use core::str::raw::{slice_unchecked}; @@ -821,8 +820,10 @@ pub trait StrAllocating: Str { /// Copy a slice into a new owned str. #[inline] fn to_owned(&self) -> ~str { + use slice::Vector; + unsafe { - ::cast::transmute(self.as_bytes().to_owned()) + ::cast::transmute(self.as_slice().as_bytes().to_owned()) } } |
