| // compile-flags: --test |
| // ignore-tidy-linelength |
| // run-pass |
| |
| #![feature(core_intrinsics, generic_assert, generic_assert_internals)] |
| |
| 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() { |
| } |