macro_rules! debug_unreachable {
($($tt:tt)*) => {
if cfg!(debug_assertions) {
unreachable!($($tt)*)
} else {
core::hint::unreachable_unchecked()
}
}
}
pub(crate) use debug_unreachable;
pub(crate) unsafe fn unwrap_unchecked<T>(opt: Option<T>) -> T {
match opt {
Some(val) => val,
None => unsafe { debug_unreachable!() },
}
}