diff --git a/src/header/map.rs b/src/header/map.rs index abbff27..deb39d1 100644 --- a/src/header/map.rs +++ b/src/header/map.rs @@ -88,7 +88,7 @@ pub struct IterMut<'a, T: 'a> { map: *mut HeaderMap, entry: usize, cursor: Option, - lt: PhantomData<&'a mut ()>, + lt: PhantomData<&'a mut HeaderMap>, } /// An owning iterator over the entries of a `HeaderMap`. @@ -127,10 +127,10 @@ pub struct ValuesMut<'a, T: 'a> { /// A drain iterator for `HeaderMap`. #[derive(Debug)] -pub struct Drain<'a, T> { +pub struct Drain<'a, T: 'a> { idx: usize, map: *mut HeaderMap, - lt: PhantomData<&'a ()>, + lt: PhantomData<&'a mut HeaderMap>, } /// A view to all values stored in a single entry. @@ -190,16 +190,16 @@ pub struct ValueIterMut<'a, T: 'a> { index: usize, front: Option, back: Option, - lt: PhantomData<&'a ()>, + lt: PhantomData<&'a mut HeaderMap>, } /// An drain iterator of all values associated with a single header name. #[derive(Debug)] -pub struct ValueDrain<'a, T> { +pub struct ValueDrain<'a, T: 'a> { map: *mut HeaderMap, first: Option, next: Option, - lt: PhantomData<&'a ()>, + lt: PhantomData<&'a mut HeaderMap>, } /// Tracks the value iterator state