std::debug_assert!
[-] [+]
[src]
( $ ( $ arg : tt ) * ) => ( if cfg ! ( not ( ndebug ) ) { 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 can be disabled by passing
--cfg ndebug
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.
Example
fn main() { // 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); }// 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);