about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristian Poveda <z1mvader@protonmail.com>2017-05-08 14:56:33 -0500
committerChristian Poveda <z1mvader@protonmail.com>2017-05-08 14:56:33 -0500
commitf096c8d17412b6303dc80cfff3dee5c2dffd16e5 (patch)
tree30a2e84fabe3f92d9eab0df37d87b20bc95505c5
parent59f1a2f948a5e17d6675957813376ad8cc1d95ec (diff)
downloadrust-f096c8d17412b6303dc80cfff3dee5c2dffd16e5.tar.gz
rust-f096c8d17412b6303dc80cfff3dee5c2dffd16e5.zip
inferring expected types of closure arguments when coercing to a fn
-rw-r--r--src/librustc_typeck/check/closure.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/librustc_typeck/check/closure.rs b/src/librustc_typeck/check/closure.rs
index 45b0a571bd0..fb3be849319 100644
--- a/src/librustc_typeck/check/closure.rs
+++ b/src/librustc_typeck/check/closure.rs
@@ -126,6 +126,7 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
                 (sig, kind)
             }
             ty::TyInfer(ty::TyVar(vid)) => self.deduce_expectations_from_obligations(vid),
+            ty::TyFnPtr(sig) => (Some(sig.skip_binder().clone()), Some(ty::ClosureKind::Fn)),
             _ => (None, None),
         }
     }