2 Checks for function/method calls with a mutable
3 parameter in `debug_assert!`, `debug_assert_eq!` and `debug_assert_ne!` macros.
6 In release builds `debug_assert!` macros are optimized out by the
8 Therefore mutating something in a `debug_assert!` macro results in different behavior
9 between a release and debug build.
13 debug_assert_eq!(vec![3].pop(), Some(3));
17 debug_assert!(takes_a_mut_parameter(&mut x));