mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 04:57:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			773 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			773 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // -Zpanic_abort_tests makes this test work on panic=abort targets and
 | |
| // it's a no-op on panic=unwind targets
 | |
| //@ compile-flags: --test -Zpanic_abort_tests
 | |
| // ignore-tidy-linelength
 | |
| //@ run-pass
 | |
| 
 | |
| #![feature(core_intrinsics, generic_assert)]
 | |
| 
 | |
| use std::fmt::{Debug, Formatter};
 | |
| 
 | |
| #[derive(Clone, Copy, PartialEq)]
 | |
| struct CopyDebug(i32);
 | |
| 
 | |
| impl Debug for CopyDebug {
 | |
|   fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), std::fmt::Error> {
 | |
|     f.write_str("With great power comes great electricity bills")
 | |
|   }
 | |
| }
 | |
| 
 | |
| #[should_panic(expected = "Assertion failed: copy_debug == CopyDebug(3)\nWith captures:\n  copy_debug = With great power comes great electricity bills\n")]
 | |
| #[test]
 | |
| fn test() {
 | |
|   let copy_debug = CopyDebug(1);
 | |
|   assert!(copy_debug == CopyDebug(3));
 | |
| }
 | |
| 
 | |
| fn main() {
 | |
| }
 | 
