2021-03-13 11:14:57 +00:00
|
|
|
//@ run-fail
|
Cleaner assert_eq! & assert_ne! panic messages
Modify panic message for `assert_eq!`, `assert_ne!`, the currently unstable `assert_matches!`, as well as the corresponding `debug_assert_*` macros.
```rust
assert_eq!(1 + 1, 3);
assert_eq!(1 + 1, 3, "my custom message value={}!", 42);
```
```plain
thread 'main' panicked at $DIR/main.rs:6:5:
assertion failed: `(left == right)`
left: `2`,
right: `3`
```
```plain
thread 'main' panicked at $DIR/main.rs:6:5:
assertion failed: `(left == right)`
left: `2`,
right: `3`: my custom message value=42!
```
```plain
thread 'main' panicked at $DIR/main.rs:6:5:
assertion `left == right` failed
left: 2
right: 3
```
```plain
thread 'main' panicked at $DIR/main.rs:6:5:
assertion `left == right` failed: my custom message value=42!
left: 2
right: 3
```
This PR is a simpler subset of the #111030, but it does NOT stringify the original left and right source code assert expressions, thus should be faster to compile.
2023-05-01 16:34:42 +00:00
|
|
|
//@ error-pattern:assertion `left matches right` failed: 1 + 1 definitely should be 3
|
|
|
|
//@ error-pattern: left: 2
|
|
|
|
//@ error-pattern: right: 3
|
2021-03-13 11:14:57 +00:00
|
|
|
//@ ignore-emscripten no processes
|
|
|
|
|
|
|
|
#![feature(assert_matches)]
|
|
|
|
|
2021-07-16 18:26:20 +00:00
|
|
|
use std::assert_matches::assert_matches;
|
2021-07-07 16:25:46 +00:00
|
|
|
|
2021-03-13 11:14:57 +00:00
|
|
|
fn main() {
|
|
|
|
assert_matches!(1 + 1, 3, "1 + 1 definitely should be 3");
|
|
|
|
}
|