mirror of https://github.com/rust-lang/rust.git
Auto merge of #111071 - nyurik:simpler-issue-94005, r=m-ou-se
Cleaner assert_eq! & assert_ne! panic messages This PR finishes refactoring of the assert messages per #94005. The panic message format change #112849 used to be part of this PR, but has been factored out and just merged. It might be better to keep both changes in the same release once FCP vote completes. 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); ``` #### Old messages ```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! ``` #### New messages ```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 ``` History of fixing #94005 * #94016 was a lengthy PR that was abandoned * #111030 was similar, but it stringified left and right arguments, and thus caused compile time performance issues, thus closed * #112849 factored out the two-line formatting of all panic messages Fixes #94005 r? `@m-ou-se`
This commit is contained in:
commit
b531630f42
|
@ -267,16 +267,14 @@ fn assert_failed_inner(
|
|||
|
||||
match args {
|
||||
Some(args) => panic!(
|
||||
r#"assertion failed: `(left {} right)`
|
||||
left: `{:?}`,
|
||||
right: `{:?}`: {}"#,
|
||||
op, left, right, args
|
||||
r#"assertion `left {op} right` failed: {args}
|
||||
left: {left:?}
|
||||
right: {right:?}"#
|
||||
),
|
||||
None => panic!(
|
||||
r#"assertion failed: `(left {} right)`
|
||||
left: `{:?}`,
|
||||
right: `{:?}`"#,
|
||||
op, left, right,
|
||||
r#"assertion `left {op} right` failed
|
||||
left: {left:?}
|
||||
right: {right:?}"#
|
||||
),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// run-fail
|
||||
// error-pattern:assertion failed: `(left == right)`
|
||||
// error-pattern: left: `2`
|
||||
// error-pattern:right: `3`: 1 + 1 definitely should be 3
|
||||
// error-pattern:assertion `left == right` failed: 1 + 1 definitely should be 3
|
||||
// error-pattern: left: 2
|
||||
// error-pattern: right: 3
|
||||
// ignore-emscripten no processes
|
||||
|
||||
fn main() {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// run-fail
|
||||
// error-pattern:assertion failed: `(left == right)`
|
||||
// error-pattern: left: `14`
|
||||
// error-pattern:right: `15`
|
||||
// error-pattern:assertion `left == right` failed
|
||||
// error-pattern: left: 14
|
||||
// error-pattern: right: 15
|
||||
// ignore-emscripten no processes
|
||||
|
||||
fn main() {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// run-fail
|
||||
// error-pattern:assertion failed: `(left matches right)`
|
||||
// error-pattern: left: `2`
|
||||
// error-pattern:right: `3`: 1 + 1 definitely should be 3
|
||||
// error-pattern:assertion `left matches right` failed: 1 + 1 definitely should be 3
|
||||
// error-pattern: left: 2
|
||||
// error-pattern: right: 3
|
||||
// ignore-emscripten no processes
|
||||
|
||||
#![feature(assert_matches)]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// run-fail
|
||||
// error-pattern:assertion failed: `(left != right)`
|
||||
// error-pattern: left: `2`
|
||||
// error-pattern:right: `2`: 1 + 1 definitely should not be 2
|
||||
// error-pattern:assertion `left != right` failed: 1 + 1 definitely should not be 2
|
||||
// error-pattern: left: 2
|
||||
// error-pattern: right: 2
|
||||
// ignore-emscripten no processes
|
||||
|
||||
fn main() {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// run-fail
|
||||
// error-pattern:assertion failed: `(left != right)`
|
||||
// error-pattern: left: `14`
|
||||
// error-pattern:right: `14`
|
||||
// error-pattern:assertion `left != right` failed
|
||||
// error-pattern: left: 14
|
||||
// error-pattern: right: 14
|
||||
// ignore-emscripten no processes
|
||||
|
||||
fn main() {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
thread 'main' panicked at $DIR/test-panic-abort-nocapture.rs:33:5:
|
||||
assertion failed: `(left == right)`
|
||||
left: `2`,
|
||||
right: `4`
|
||||
assertion `left == right` failed
|
||||
left: 2
|
||||
right: 4
|
||||
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
|
||||
thread 'main' panicked at $DIR/test-panic-abort-nocapture.rs:27:5:
|
||||
assertion failed: `(left == right)`
|
||||
left: `2`,
|
||||
right: `4`
|
||||
assertion `left == right` failed
|
||||
left: 2
|
||||
right: 4
|
||||
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
|
||||
testing321
|
||||
|
|
|
@ -18,9 +18,9 @@ testing123
|
|||
---- it_fails stderr ----
|
||||
testing321
|
||||
thread 'main' panicked at $DIR/test-panic-abort.rs:38:5:
|
||||
assertion failed: `(left == right)`
|
||||
left: `2`,
|
||||
right: `5`
|
||||
assertion `left == right` failed
|
||||
left: 2
|
||||
right: 5
|
||||
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue