summaryrefslogtreecommitdiffstats
path: root/tests/ui/fmt/format-args-argument-span.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/fmt/format-args-argument-span.rs')
-rw-r--r--tests/ui/fmt/format-args-argument-span.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/fmt/format-args-argument-span.rs b/tests/ui/fmt/format-args-argument-span.rs
new file mode 100644
index 000000000..c7acb08f8
--- /dev/null
+++ b/tests/ui/fmt/format-args-argument-span.rs
@@ -0,0 +1,22 @@
+// check-compile
+
+struct DisplayOnly;
+
+impl std::fmt::Display for DisplayOnly {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ unimplemented!()
+ }
+}
+
+fn main() {
+ let x = Some(1);
+ println!("{x:?} {x} {x:?}");
+ //~^ ERROR: `Option<{integer}>` doesn't implement `std::fmt::Display`
+ println!("{x:?} {x} {x:?}", x = Some(1));
+ //~^ ERROR: `Option<{integer}>` doesn't implement `std::fmt::Display`
+ let x = DisplayOnly;
+ println!("{x} {x:?} {x}");
+ //~^ ERROR: `DisplayOnly` doesn't implement `Debug`
+ println!("{x} {x:?} {x}", x = DisplayOnly);
+ //~^ ERROR: `DisplayOnly` doesn't implement `Debug`
+}