Skip to content

Commit 0b90d21

Browse files
committed
Removes the VecLike struct
1 parent 9534a6b commit 0b90d21

File tree

1 file changed

+0
-72
lines changed

1 file changed

+0
-72
lines changed

lib.rs

Lines changed: 0 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -144,54 +144,6 @@ macro_rules! debug_unreachable {
144144
}
145145
}
146146

147-
/// Common operations implemented by both `Vec` and `SmallVec`.
148-
///
149-
/// This can be used to write generic code that works with both `Vec` and `SmallVec`.
150-
///
151-
/// ## Example
152-
///
153-
/// ```rust
154-
/// use smallvec::{VecLike, SmallVec};
155-
///
156-
/// fn initialize<V: VecLike<u8>>(v: &mut V) {
157-
/// for i in 0..5 {
158-
/// v.push(i);
159-
/// }
160-
/// }
161-
///
162-
/// let mut vec = Vec::new();
163-
/// initialize(&mut vec);
164-
///
165-
/// let mut small_vec = SmallVec::<[u8; 8]>::new();
166-
/// initialize(&mut small_vec);
167-
/// ```
168-
#[deprecated(note = "Use `Extend` and `Deref<[T]>` instead")]
169-
pub trait VecLike<T>:
170-
ops::Index<usize, Output=T> +
171-
ops::IndexMut<usize> +
172-
ops::Index<ops::Range<usize>, Output=[T]> +
173-
ops::IndexMut<ops::Range<usize>> +
174-
ops::Index<ops::RangeFrom<usize>, Output=[T]> +
175-
ops::IndexMut<ops::RangeFrom<usize>> +
176-
ops::Index<ops::RangeTo<usize>, Output=[T]> +
177-
ops::IndexMut<ops::RangeTo<usize>> +
178-
ops::Index<ops::RangeFull, Output=[T]> +
179-
ops::IndexMut<ops::RangeFull> +
180-
ops::DerefMut<Target = [T]> +
181-
Extend<T> {
182-
183-
/// Append an element to the vector.
184-
fn push(&mut self, value: T);
185-
}
186-
187-
#[allow(deprecated)]
188-
impl<T> VecLike<T> for Vec<T> {
189-
#[inline]
190-
fn push(&mut self, value: T) {
191-
Vec::push(self, value);
192-
}
193-
}
194-
195147
/// Trait to be implemented by a collection that can be extended from a slice
196148
///
197149
/// ## Example
@@ -1320,13 +1272,6 @@ impl<A: Array> ExtendFromSlice<A::Item> for SmallVec<A> where A::Item: Copy {
13201272
}
13211273
}
13221274

1323-
#[allow(deprecated)]
1324-
impl<A: Array> VecLike<A::Item> for SmallVec<A> {
1325-
#[inline]
1326-
fn push(&mut self, value: A::Item) {
1327-
SmallVec::push(self, value);
1328-
}
1329-
}
13301275

13311276
impl<A: Array> FromIterator<A::Item> for SmallVec<A> {
13321277
fn from_iter<I: IntoIterator<Item=A::Item>>(iterable: I) -> SmallVec<A> {
@@ -2123,23 +2068,6 @@ mod tests {
21232068
assert_eq!(vec.drain().len(), 3);
21242069
}
21252070

2126-
#[test]
2127-
#[allow(deprecated)]
2128-
fn veclike_deref_slice() {
2129-
use super::VecLike;
2130-
2131-
fn test<T: VecLike<i32>>(vec: &mut T) {
2132-
assert!(!vec.is_empty());
2133-
assert_eq!(vec.len(), 3);
2134-
2135-
vec.sort();
2136-
assert_eq!(&vec[..], [1, 2, 3]);
2137-
}
2138-
2139-
let mut vec = SmallVec::<[i32; 2]>::from(&[3, 1, 2][..]);
2140-
test(&mut vec);
2141-
}
2142-
21432071
#[test]
21442072
fn shrink_to_fit_unspill() {
21452073
let mut vec = SmallVec::<[u8; 2]>::from_iter(0..3);

0 commit comments

Comments
 (0)