mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 21:16:44 +00:00 
			
		
		
		
	 950e3d9989
			
		
	
	
		950e3d9989
		
	
	
	
	
		
			
			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.
		
	
			
		
			
				
	
	
		
			10 lines
		
	
	
		
			191 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			10 lines
		
	
	
		
			191 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // run-fail
 | |
| // error-pattern:assertion `left == right` failed
 | |
| // error-pattern:  left: 14
 | |
| // error-pattern: right: 15
 | |
| // ignore-emscripten no processes
 | |
| 
 | |
| fn main() {
 | |
|     assert_eq!(14, 15);
 | |
| }
 |