From 6e73cc89b6f2e0086a3261489811f221ee7deaa8 Mon Sep 17 00:00:00 2001 From: Hirokazu Hata Date: Sun, 13 Jan 2019 21:00:27 +0900 Subject: Implement tuple inference --- crates/ra_hir/src/ty.rs | 8 ++++++++ 1 file changed, 8 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 5d5568d69..0692d3b2a 100644 --- a/crates/ra_hir/src/ty.rs +++ b/crates/ra_hir/src/ty.rs @@ -1040,6 +1040,14 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { } _ => Ty::Unknown, }, + Expr::Tuple { exprs } => { + let mut ty_vec = Vec::with_capacity(exprs.len()); + for arg in exprs.iter() { + ty_vec.push(self.infer_expr(*arg, &Expectation::none())?); + } + + Ty::Tuple(Arc::from(ty_vec)) + } }; // use a new type variable if we got Ty::Unknown here let ty = self.insert_type_vars_shallow(ty); -- cgit v1.2.3