about summary refs log tree commit diff
path: root/tests/ui/impl-trait/issue-99073-2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/impl-trait/issue-99073-2.rs')
-rw-r--r--tests/ui/impl-trait/issue-99073-2.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/impl-trait/issue-99073-2.rs b/tests/ui/impl-trait/issue-99073-2.rs
new file mode 100644
index 00000000000..14ac688806b
--- /dev/null
+++ b/tests/ui/impl-trait/issue-99073-2.rs
@@ -0,0 +1,17 @@
+use std::fmt::Display;
+
+fn main() {
+    test("hi", true);
+}
+
+fn test<T: Display>(t: T, recurse: bool) -> impl Display {
+    let f = || {
+        let i: u32 = test::<i32>(-1, false);
+        //~^ ERROR concrete type differs from previous defining opaque type use
+        println!("{i}");
+    };
+    if recurse {
+        f();
+    }
+    t
+}