// 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() {
}
