about summary refs log tree commit diff
path: root/tests/ui/panics/fmt-only-once.rs
blob: 0e922afbee9120056e49a0df733d5620cba5d148 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//@ run-fail
//@ check-run-results
//@ exec-env:RUST_BACKTRACE=0

// Test that we format the panic message only once.
// Regression test for https://github.com/rust-lang/rust/issues/110717

use std::fmt;

struct PrintOnFmt;

impl fmt::Display for PrintOnFmt {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        eprintln!("fmt");
        f.write_str("PrintOnFmt")
    }
}

fn main() {
    panic!("{}", PrintOnFmt)
}