aboutsummaryrefslogtreecommitdiffstats
path: root/components/util/vec.rs
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2016-07-04 16:30:40 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2016-07-04 16:48:14 +0200
commita5b524d5590f84428c61895b418eda7024c8e600 (patch)
treedfec847eec78e5b61dcfde29a57a1869c7a57ae9 /components/util/vec.rs
parent51ff916e09ff844eb2a1aa1fe2df9ef4b45af649 (diff)
downloadservo-a5b524d5590f84428c61895b418eda7024c8e600.tar.gz
servo-a5b524d5590f84428c61895b418eda7024c8e600.zip
Move util::vec::ForgetfulSink to style::sink and simplify it
Diffstat (limited to 'components/util/vec.rs')
-rw-r--r--components/util/vec.rs71
1 files changed, 0 insertions, 71 deletions
diff --git a/components/util/vec.rs b/components/util/vec.rs
index 639e1c260da..2aa6b7d4a41 100644
--- a/components/util/vec.rs
+++ b/components/util/vec.rs
@@ -2,10 +2,6 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-use std::marker::PhantomData;
-use std::ops;
-use super::smallvec::VecLike;
-
// TODO(pcwalton): Speed up with SIMD, or better yet, find some way to not do this.
pub fn byte_swap(data: &mut [u8]) {
let length = data.len();
@@ -18,70 +14,3 @@ pub fn byte_swap(data: &mut [u8]) {
i += 4;
}
}
-
-/// A `VecLike` that only tracks whether or not something was ever pushed to it.
-pub struct ForgetfulSink<T> {
- empty: bool,
- _data: PhantomData<T>,
-}
-
-impl<T> ForgetfulSink<T> {
- pub fn new() -> ForgetfulSink<T> {
- ForgetfulSink {
- empty: true,
- _data: PhantomData,
- }
- }
-
- pub fn is_empty(&self) -> bool {
- self.empty
- }
-}
-
-impl<T> ops::Deref for ForgetfulSink<T> {
- type Target = [T];
- fn deref(&self) -> &[T] {
- unreachable!()
- }
-}
-
-impl<T> ops::DerefMut for ForgetfulSink<T> {
- fn deref_mut(&mut self) -> &mut [T] {
- unreachable!()
- }
-}
-
-macro_rules! impl_index {
- ($index_type: ty, $output_type: ty) => {
- impl<T> ops::Index<$index_type> for ForgetfulSink<T> {
- type Output = $output_type;
- fn index(&self, _index: $index_type) -> &$output_type {
- unreachable!()
- }
- }
-
- impl<T> ops::IndexMut<$index_type> for ForgetfulSink<T> {
- fn index_mut(&mut self, _index: $index_type) -> &mut $output_type {
- unreachable!()
- }
- }
- }
-}
-
-impl_index!(usize, T);
-impl_index!(ops::Range<usize>, [T]);
-impl_index!(ops::RangeFrom<usize>, [T]);
-impl_index!(ops::RangeTo<usize>, [T]);
-impl_index!(ops::RangeFull, [T]);
-
-impl<T> VecLike<T> for ForgetfulSink<T> {
- #[inline]
- fn len(&self) -> usize {
- unreachable!()
- }
-
- #[inline]
- fn push(&mut self, _value: T) {
- self.empty = false;
- }
-}