about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2022-11-06 01:59:03 +0000
committerMichael Goulet <michael@errs.io>2022-11-06 02:07:34 +0000
commit9a1043eac7dbd7177ce032c0f777b5ee2f636621 (patch)
tree499edef51c9307b67b26c472d52fb59c0bdf293f /src
parent1286ee23e4e2dec8c1696d3d76c6b26d97bbcf82 (diff)
Normalize signature when deducing closure signature from supertraits
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/closures/supertrait-hint-references-assoc-ty.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/ui/closures/supertrait-hint-references-assoc-ty.rs b/src/test/ui/closures/supertrait-hint-references-assoc-ty.rs
new file mode 100644
index 00000000000..270bf14c35e
--- /dev/null
+++ b/src/test/ui/closures/supertrait-hint-references-assoc-ty.rs
@@ -0,0 +1,17 @@
+// check-pass
+
+pub trait Fn0: Fn(i32) -> Self::Out {
+    type Out;
+}
+
+impl<F: Fn(i32) -> ()> Fn0 for F {
+    type Out = ();
+}
+
+pub fn closure_typer(_: impl Fn0) {}
+
+fn main() {
+    closure_typer(move |x| {
+        let _: i64 = x.into();
+    });
+}