Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ matrix:
- rustup target add wasm32-unknown-unknown
- cargo build --target=wasm32-unknown-unknown
# minimum rustc version
- rust: 1.20.0
- rust: 1.26.0
script: cargo build

script:
Expand Down
21 changes: 20 additions & 1 deletion src/header/map.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use super::name::{HeaderName, HdrName, InvalidHeaderName};
use std::{fmt, mem, ops, ptr, vec};
use std::collections::hash_map::RandomState;
use std::hash::{BuildHasher, Hasher, Hash};
use std::iter::FromIterator;
use std::iter::{FromIterator, FusedIterator};
use std::marker::PhantomData;

pub use self::as_header_name::AsHeaderName;
Expand Down Expand Up @@ -1949,6 +1949,8 @@ impl<'a, T> Iterator for Iter<'a, T> {
}
}

impl<'a, T> FusedIterator for Iter<'a, T> {}

unsafe impl<'a, T: Sync> Sync for Iter<'a, T> {}
unsafe impl<'a, T: Sync> Send for Iter<'a, T> {}

Expand Down Expand Up @@ -2010,6 +2012,8 @@ impl<'a, T> Iterator for IterMut<'a, T> {
}
}

impl<'a, T> FusedIterator for IterMut<'a, T> {}

unsafe impl<'a, T: Sync> Sync for IterMut<'a, T> {}
unsafe impl<'a, T: Send> Send for IterMut<'a, T> {}

Expand All @@ -2028,6 +2032,7 @@ impl<'a, T> Iterator for Keys<'a, T> {
}

impl<'a, T> ExactSizeIterator for Keys<'a, T> {}
impl<'a, T> FusedIterator for Keys<'a, T> {}

// ===== impl Values ====

Expand All @@ -2043,6 +2048,8 @@ impl<'a, T> Iterator for Values<'a, T> {
}
}

impl<'a, T> FusedIterator for Values<'a, T> {}

// ===== impl ValuesMut ====

impl<'a, T> Iterator for ValuesMut<'a, T> {
Expand All @@ -2057,6 +2064,8 @@ impl<'a, T> Iterator for ValuesMut<'a, T> {
}
}

impl<'a, T> FusedIterator for ValuesMut<'a, T> {}

// ===== impl Drain =====

impl<'a, T> Iterator for Drain<'a, T> {
Expand Down Expand Up @@ -2100,6 +2109,8 @@ impl<'a, T> Iterator for Drain<'a, T> {
}
}

impl<'a, T> FusedIterator for Drain<'a, T> {}

impl<'a, T> Drop for Drain<'a, T> {
fn drop(&mut self) {
unsafe {
Expand Down Expand Up @@ -2460,6 +2471,8 @@ impl<'a, T: 'a> DoubleEndedIterator for ValueIter<'a, T> {
}
}

impl<'a, T> FusedIterator for ValueIter<'a, T> {}

// ===== impl ValueIterMut =====

impl<'a, T: 'a> Iterator for ValueIterMut<'a, T> {
Expand Down Expand Up @@ -2539,6 +2552,8 @@ impl<'a, T: 'a> DoubleEndedIterator for ValueIterMut<'a, T> {
}
}

impl<'a, T> FusedIterator for ValueIterMut<'a, T> {}

unsafe impl<'a, T: Sync> Sync for ValueIterMut<'a, T> {}
unsafe impl<'a, T: Send> Send for ValueIterMut<'a, T> {}

Expand Down Expand Up @@ -2579,6 +2594,8 @@ impl<T> Iterator for IntoIter<T> {
}
}

impl<T> FusedIterator for IntoIter<T> {}

impl<T> Drop for IntoIter<T> {
fn drop(&mut self) {
// Ensure the iterator is consumed
Expand Down Expand Up @@ -2946,6 +2963,8 @@ impl<'a, T> Iterator for ValueDrain<'a, T> {
}
}

impl<'a, T> FusedIterator for ValueDrain<'a, T> {}

impl<'a, T> Drop for ValueDrain<'a, T> {
fn drop(&mut self) {
while let Some(_) = self.next() {
Expand Down