Change:
The custom message in macro is shown right after the . This is hard to read because the value strings could be very long. I think it is better to print the custom message (if available) on a separate line. The above (playground) prints this: Note that custom message and the location in source are still on the same line <!-- TRIAGEBOTSTART --<!-- TRIAGEBOTASSIGNSTART --<!-- TRIAGEBOTASSIGNDATASTARTTRIAGEBOTASSIGNDATAEND --<!-- TRIAGEBOTASSIGNEND --<!-- TRIAGEBOTEND --
I will try it. claim
Note that the linked PR, , has a lot of review comments. I think rebasing that PR and addressing the comments would already be very close to landing this change.
(taking over due to inactivity) claim
:tada: Horray! It only took 548 days (1.5+ years) since I created on Feb 14th, 2022. Numerous commits. Tens of people. 4 PRs... 100s of files. All to change a few lines of output :) Special thanks to for all the support!

Discussion:
match args { Some(args) => panic!( <del> r#"assertion failed: `(left {} right)` left: `{:?}`, right: `{:?}`: {}"#, op, left, right, args </del> <ins> r#"assertion `left {op} right` failed: {args} left: {left:?} right: {right:?}"# </ins> ), None => panic!( <del> r#"assertion failed: `(left {} right)` left: `{:?}`, right: `{:?}`"#, op, left, right, </del> <ins> r#"assertion `left {op} right` failed left: {left:?} right: {right:?}"# </ins> ), } }

// run-fail <del> // error-pattern:assertion failed: `(left == right)` // error-pattern: left: `2` // error-pattern:right: `3`: 1 + 1 definitely should be 3 </del> <ins> // error-pattern:assertion `left == right` failed: 1 + 1 definitely should be 3 // error-pattern:  left: 2 // error-pattern: right: 3 </ins> // ignore-emscripten no processes fn main() {

// run-fail <del> // error-pattern:assertion failed: `(left == right)` // error-pattern: left: `14` // error-pattern:right: `15` </del> <ins> // error-pattern:assertion `left == right` failed // error-pattern:  left: 14 // error-pattern: right: 15 </ins> // ignore-emscripten no processes fn main() {

// run-fail <del> // error-pattern:assertion failed: `(left matches right)` // error-pattern: left: `2` // error-pattern:right: `3`: 1 + 1 definitely should be 3 </del> <ins> // error-pattern:assertion `left matches right` failed: 1 + 1 definitely should be 3 // error-pattern:  left: 2 // error-pattern: right: 3 </ins> // ignore-emscripten no processes #![feature(assert_matches)]

// run-fail <del> // error-pattern:assertion failed: `(left != right)` // error-pattern: left: `2` // error-pattern:right: `2`: 1 + 1 definitely should not be 2 </del> <ins> // error-pattern:assertion `left != right` failed: 1 + 1 definitely should not be 2 // error-pattern:  left: 2 // error-pattern: right: 2 </ins> // ignore-emscripten no processes fn main() {

// run-fail <del> // error-pattern:assertion failed: `(left != right)` // error-pattern: left: `14` // error-pattern:right: `14` </del> <ins> // error-pattern:assertion `left != right` failed // error-pattern:  left: 14 // error-pattern: right: 14 </ins> // ignore-emscripten no processes fn main() {

thread 'main' panicked at $DIR/test-panic-abort-nocapture.rs:33:5: <del> assertion failed: `(left == right)` left: `2`, right: `4` </del> <ins> assertion `left == right` failed left: 2 right: 4 </ins> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace thread 'main' panicked at $DIR/test-panic-abort-nocapture.rs:27:5: <del> assertion failed: `(left == right)` left: `2`, right: `4` </del> <ins> assertion `left == right` failed left: 2 right: 4 </ins> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace testing321

---- it_fails stderr ---- testing321 thread 'main' panicked at $DIR/test-panic-abort.rs:38:5: <del> assertion failed: `(left == right)` left: `2`, right: `5` </del> <ins> assertion `left == right` failed left: 2 right: 5 </ins> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace