| 
1 |  | -use std::collections::hash_map::RandomState;  | 
2 |  | -use std::collections::HashMap;  | 
3 |  | -use std::convert::TryFrom;  | 
4 |  | -use std::hash::{BuildHasher, Hash, Hasher};  | 
5 |  | -use std::iter::{FromIterator, FusedIterator};  | 
6 |  | -use std::marker::PhantomData;  | 
7 |  | -use std::{fmt, mem, ops, ptr, vec};  | 
 | 1 | +use alloc::boxed::Box;  | 
 | 2 | +use alloc::vec;  | 
 | 3 | +use alloc::vec::Vec;  | 
 | 4 | +use core::convert::TryFrom;  | 
 | 5 | +use core::hash::{BuildHasher, Hash, Hasher};  | 
 | 6 | +use core::iter::{FromIterator, FusedIterator};  | 
 | 7 | +use core::marker::PhantomData;  | 
 | 8 | +use core::{fmt, mem, ops, ptr};  | 
 | 9 | +#[cfg(feature = "std")]  | 
 | 10 | +use std::collections::{hash_map::RandomState, HashMap};  | 
 | 11 | +#[cfg(not(feature = "std"))]  | 
 | 12 | +use {ahash::RandomState, hashbrown::HashMap};  | 
8 | 13 | 
 
  | 
9 | 14 | use crate::Error;  | 
10 | 15 | 
 
  | 
@@ -116,7 +121,7 @@ pub struct IntoIter<T> {  | 
116 | 121 | /// associated value.  | 
117 | 122 | #[derive(Debug)]  | 
118 | 123 | pub struct Keys<'a, T> {  | 
119 |  | -    inner: ::std::slice::Iter<'a, Bucket<T>>,  | 
 | 124 | +    inner: ::core::slice::Iter<'a, Bucket<T>>,  | 
120 | 125 | }  | 
121 | 126 | 
 
  | 
122 | 127 | /// `HeaderMap` value iterator.  | 
@@ -209,7 +214,7 @@ pub struct ValueIterMut<'a, T> {  | 
209 | 214 | #[derive(Debug)]  | 
210 | 215 | pub struct ValueDrain<'a, T> {  | 
211 | 216 |     first: Option<T>,  | 
212 |  | -    next: Option<::std::vec::IntoIter<T>>,  | 
 | 217 | +    next: Option<::alloc::vec::IntoIter<T>>,  | 
213 | 218 |     lt: PhantomData<&'a mut HeaderMap<T>>,  | 
214 | 219 | }  | 
215 | 220 | 
 
  | 
@@ -3574,7 +3579,10 @@ impl fmt::Display for MaxSizeReached {  | 
3574 | 3579 |     }  | 
3575 | 3580 | }  | 
3576 | 3581 | 
 
  | 
 | 3582 | +#[cfg(feature = "std")]  | 
3577 | 3583 | impl std::error::Error for MaxSizeReached {}  | 
 | 3584 | +#[cfg(not(feature = "std"))]  | 
 | 3585 | +impl core::error::Error for MaxSizeReached {}  | 
3578 | 3586 | 
 
  | 
3579 | 3587 | // ===== impl Utils =====  | 
3580 | 3588 | 
 
  | 
@@ -3736,6 +3744,7 @@ mod into_header_name {  | 
3736 | 3744 | 
 
  | 
3737 | 3745 | mod as_header_name {  | 
3738 | 3746 |     use super::{Entry, HdrName, HeaderMap, HeaderName, InvalidHeaderName, MaxSizeReached};  | 
 | 3747 | +    use alloc::string::String;  | 
3739 | 3748 | 
 
  | 
3740 | 3749 |     /// A marker trait used to identify values that can be used as search keys  | 
3741 | 3750 |     /// to a `HeaderMap`.  | 
 | 
0 commit comments