@@ -8045,31 +8045,35 @@ mod test_map {
8045
8045
use crate :: TryReserveError :: { AllocError , CapacityOverflow } ;
8046
8046
8047
8047
const MAX_ISIZE : usize = isize:: MAX as usize ;
8048
+ const GROUP_WIDTH : usize = 128 ;
8048
8049
8049
8050
let mut empty_bytes: HashMap < u8 , u8 > = HashMap :: new ( ) ;
8050
8051
8051
8052
if let Err ( CapacityOverflow ) = empty_bytes. try_reserve ( usize:: MAX ) {
8052
8053
} else {
8053
- panic ! ( "usize ::MAX should trigger an overflow!" ) ;
8054
+ panic ! ( "isize ::MAX should trigger an overflow!" ) ;
8054
8055
}
8055
8056
8056
8057
if let Err ( CapacityOverflow ) = empty_bytes. try_reserve ( MAX_ISIZE ) {
8057
8058
} else {
8058
- panic ! ( "usize ::MAX should trigger an overflow!" ) ;
8059
+ panic ! ( "isize ::MAX should trigger an overflow!" ) ;
8059
8060
}
8060
8061
8061
- if let Err ( AllocError { .. } ) = empty_bytes. try_reserve ( MAX_ISIZE / 16 ) {
8062
+ if let Err ( AllocError { .. } ) = empty_bytes. try_reserve ( MAX_ISIZE / 24 - ( GROUP_WIDTH + 1 ) )
8063
+ {
8062
8064
} else {
8063
8065
// This may succeed if there is enough free memory. Attempt to
8064
8066
// allocate a few more hashmaps to ensure the allocation will fail.
8065
8067
let mut empty_bytes2: HashMap < u8 , u8 > = HashMap :: new ( ) ;
8066
- let _ = empty_bytes2. try_reserve ( MAX_ISIZE / 16 ) ;
8068
+ let _ = empty_bytes2. try_reserve ( MAX_ISIZE / 24 - ( GROUP_WIDTH + 1 ) ) ;
8067
8069
let mut empty_bytes3: HashMap < u8 , u8 > = HashMap :: new ( ) ;
8068
- let _ = empty_bytes3. try_reserve ( MAX_ISIZE / 16 ) ;
8070
+ let _ = empty_bytes3. try_reserve ( MAX_ISIZE / 24 - ( GROUP_WIDTH + 1 ) ) ;
8069
8071
let mut empty_bytes4: HashMap < u8 , u8 > = HashMap :: new ( ) ;
8070
- if let Err ( AllocError { .. } ) = empty_bytes4. try_reserve ( MAX_ISIZE / 16 ) {
8072
+ if let Err ( AllocError { .. } ) =
8073
+ empty_bytes4. try_reserve ( MAX_ISIZE / 24 - ( GROUP_WIDTH + 1 ) )
8074
+ {
8071
8075
} else {
8072
- panic ! ( "usize ::MAX / 8 should trigger an OOM!" ) ;
8076
+ panic ! ( "isize ::MAX / 24 should trigger an OOM!" ) ;
8073
8077
}
8074
8078
}
8075
8079
}
0 commit comments