redox::debug_assert!
[−]
( $ ( $ arg : tt ) * ) => ( if cfg ! ( debug_assertions ) { assert ! ( $ ( $ arg ) * ) ; } )
Ensure that a boolean expression is true
at runtime.
This will invoke the panic!
macro if the provided expression cannot be
evaluated to true
at runtime.
Unlike assert!
, debug_assert!
statements are only enabled in non
optimized builds by default. An optimized build will omit all
debug_assert!
statements unless -C debug-assertions
is passed to the
compiler. This makes debug_assert!
useful for checks that are too
expensive to be present in a release build but may be helpful during
development.
Examples
// the panic message for these assertions is the stringified value of the // expression given. debug_assert!(true); fn some_expensive_computation() -> bool { true } // a very simple function debug_assert!(some_expensive_computation()); // assert with a custom message let x = true; debug_assert!(x, "x wasn't true!"); let a = 3; let b = 27; debug_assert!(a + b == 30, "a = {}, b = {}", a, b);