if mem::size_of::<T>() == 0 {
Iter {ptr: p,
end: (p as usize + self.len()) as *const T,
- marker: marker::ContravariantLifetime::<'a>}
+ _marker: marker::PhantomData}
} else {
Iter {ptr: p,
end: p.offset(self.len() as isize),
- marker: marker::ContravariantLifetime::<'a>}
+ _marker: marker::PhantomData}
}
}
}
if mem::size_of::<T>() == 0 {
IterMut {ptr: p,
end: (p as usize + self.len()) as *mut T,
- marker: marker::ContravariantLifetime::<'a>}
+ _marker: marker::PhantomData}
} else {
IterMut {ptr: p,
end: p.offset(self.len() as isize),
- marker: marker::ContravariantLifetime::<'a>}
+ _marker: marker::PhantomData}
}
}
}
pub struct Iter<'a, T: 'a> {
ptr: *const T,
end: *const T,
- marker: marker::ContravariantLifetime<'a>
+ _marker: marker::PhantomData<&'a T>,
}
#[unstable(feature = "core")]
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a, T> Clone for Iter<'a, T> {
- fn clone(&self) -> Iter<'a, T> { Iter { ptr: self.ptr, end: self.end, marker: self.marker } }
+ fn clone(&self) -> Iter<'a, T> { Iter { ptr: self.ptr, end: self.end, _marker: self._marker } }
}
#[unstable(feature = "core", reason = "trait is experimental")]
pub struct IterMut<'a, T: 'a> {
ptr: *mut T,
end: *mut T,
- marker: marker::ContravariantLifetime<'a>,
+ _marker: marker::PhantomData<&'a mut T>,
}