diff options
| author | Lukas Markeffsky <@> | 2023-04-23 15:24:34 +0200 |
|---|---|---|
| committer | Lukas Markeffsky <@> | 2023-04-25 18:11:28 +0200 |
| commit | cd398a6de9a177137b493f2355a3b4db4ab8d02a (patch) | |
| tree | d9b24abdad15a8cf29252a9543011db5870cee72 | |
| parent | a7aa20517c80161a2ffe7c0c25fc2e0140c43c90 (diff) | |
| download | rust-cd398a6de9a177137b493f2355a3b4db4ab8d02a.tar.gz rust-cd398a6de9a177137b493f2355a3b4db4ab8d02a.zip | |
test that we format the panic message only once
| -rw-r--r-- | tests/ui/panics/fmt-only-once.rs | 21 | ||||
| -rw-r--r-- | tests/ui/panics/fmt-only-once.run.stderr | 3 |
2 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/panics/fmt-only-once.rs b/tests/ui/panics/fmt-only-once.rs new file mode 100644 index 00000000000..6211bf961b3 --- /dev/null +++ b/tests/ui/panics/fmt-only-once.rs @@ -0,0 +1,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) +} diff --git a/tests/ui/panics/fmt-only-once.run.stderr b/tests/ui/panics/fmt-only-once.run.stderr new file mode 100644 index 00000000000..39bd06881ad --- /dev/null +++ b/tests/ui/panics/fmt-only-once.run.stderr @@ -0,0 +1,3 @@ +fmt +thread 'main' panicked at 'PrintOnFmt', $DIR/fmt-only-once.rs:20:5 +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace |
