diff --git a/src/macros.rs b/src/macros.rs index 2eda4980..4ac590eb 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -471,11 +471,16 @@ macro_rules! resource_error_call_result { } macro_rules! heap_index { - ($idx:expr) => { + ($idx:expr) => {{ + let idx = $idx; std::mem::size_of::() - .checked_mul($idx) - .unwrap() - }; + .checked_mul(idx) + .expect(&format!( + "overflow while calculating heap index {idx} * {} > {}", + std::mem::size_of::(), + usize::MAX, + )) + }}; } macro_rules! cell_index {