|
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