Implement type inference for more binary operators

Mostly just for primitive numeric types such as u32 and f64. Not
yet a general solution using trait resolution.
This commit is contained in:
Marcus Klaas de Vries 2019-01-07 20:11:31 +01:00
parent 3238c06a5a
commit 7b0eaef580
4 changed files with 84 additions and 49 deletions

View file

@ -549,7 +549,7 @@ pub enum BinOp {
/// The `&=` operator for assignment after bitwise AND
BitAndAssign,
/// The `^=` operator for assignment after bitwise XOR
BitXorAssin,
BitXorAssign,
}
impl<'a> BinExpr<'a> {
@ -586,7 +586,7 @@ impl<'a> BinExpr<'a> {
MINUSEQ => Some(BinOp::SubAssign),
PIPEEQ => Some(BinOp::BitOrAssign),
AMPEQ => Some(BinOp::BitAndAssign),
CARETEQ => Some(BinOp::BitXorAssin),
CARETEQ => Some(BinOp::BitXorAssign),
_ => None,
})
.next()