4 ms·
Yes, and that same pattern already does exist in C and C++. Asserts that are checked in debug builds but presumed true for optimization in release builds.
by esrauch 9mo ago
Yes, and that same pattern already does exist in C and C++. Asserts that are checked in debug builds but presumed true for optimization in release builds.
- mananaysiempre 9mo agoNot unless you write your own assert macro using C23 unreachable(), GNU C __builtin_unreachable(), MSVC __assume(0), or the like. The standard one is defined[1] to either explicitly check or completely ignore its argument. [1] https://port70.net/~nsz/c/c11/n1570.html#7.2 https://port70.net/~nsz/c/c11/n1570.html#7.2
- esrauch 9mo agoYeah, I meant it's common for projects to make their own 'assume' macros. In Rust you can wrap core::hint::assert_unchecked similarly.