From ab5deb78117693d776723bc0144e7b34e6f782d1 Mon Sep 17 00:00:00 2001 From: Marcus Klaas de Vries Date: Wed, 16 Jan 2019 19:35:27 +0100 Subject: Create struct patterns up to the hir level --- crates/ra_hir/src/ty.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'crates/ra_hir/src/ty.rs') diff --git a/crates/ra_hir/src/ty.rs b/crates/ra_hir/src/ty.rs index cdecbd064..3e1a4f02e 100644 --- a/crates/ra_hir/src/ty.rs +++ b/crates/ra_hir/src/ty.rs @@ -877,6 +877,8 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { fn infer_pat(&mut self, pat: PatId, expected: &Expectation) -> Ty { let body = Arc::clone(&self.body); // avoid borrow checker problem + // FIXME: we can do some inference even if the expected ty isnt already + // of the right form let ty = match (&body[pat], &expected.ty) { (Pat::Tuple(ref args), &Ty::Tuple(ref tuple_args)) if args.len() == tuple_args.len() => -- cgit v1.2.3