| use lib::*; | |
| pub fn from_bounds<I>(iter: &I) -> Option<usize> | |
| where | |
| I: Iterator, | |
| { | |
| helper(iter.size_hint()) | |
| } | |
| #[cfg(any(feature = "std", feature = "alloc"))] | |
| #[inline] | |
| pub fn cautious(hint: Option<usize>) -> usize { | |
| cmp::min(hint.unwrap_or(0), 4096) | |
| } | |
| fn helper(bounds: (usize, Option<usize>)) -> Option<usize> { | |
| match bounds { | |
| (lower, Some(upper)) if lower == upper => Some(upper), | |
| _ => None, | |
| } | |
| } |