From 5a1385007cb7509d50a77afa5a47ed0685f7f2f9 Mon Sep 17 00:00:00 2001 From: Florian Diebold Date: Fri, 25 Jan 2019 21:32:49 +0100 Subject: Fix type inference of binops on int/float variables Fixes #651. --- crates/ra_hir/src/ty.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (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 714eaaae5..179ebddee 100644 --- a/crates/ra_hir/src/ty.rs +++ b/crates/ra_hir/src/ty.rs @@ -790,7 +790,10 @@ fn binary_op_return_ty(op: BinaryOp, rhs_ty: Ty) -> Ty { | BinaryOp::BitwiseAnd | BinaryOp::BitwiseOr | BinaryOp::BitwiseXor => match rhs_ty { - Ty::Int(..) | Ty::Float(..) => rhs_ty, + Ty::Int(..) + | Ty::Float(..) + | Ty::Infer(InferTy::IntVar(..)) + | Ty::Infer(InferTy::FloatVar(..)) => rhs_ty, _ => Ty::Unknown, }, BinaryOp::RangeRightOpen | BinaryOp::RangeRightClosed => Ty::Unknown, -- cgit v1.2.3