revm_interpreter/macros.rs
1#[macro_export]
2macro_rules! debug_unreachable {
3 ($($t:tt)*) => {
4 if cfg!(debug_assertions) {
5 unreachable!($($t)*);
6 } else {
7 unsafe { core::hint::unreachable_unchecked() };
8 }
9 };
10}
11
12#[macro_export]
13macro_rules! assume {
14 ($e:expr $(,)?) => {
15 if !$e {
16 debug_unreachable!(stringify!($e));
17 }
18 };
19
20 ($e:expr, $($t:tt)+) => {
21 if !$e {
22 debug_unreachable!($($t)+);
23 }
24 };
25}