From 6afd7d50a6f2bb43d18b9f818a8674353b1681e9 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Wed, 6 Nov 2019 17:52:35 +0300 Subject: [PATCH] parser: fix mod type check --- vlib/compiler/parser.v | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/vlib/compiler/parser.v b/vlib/compiler/parser.v index d22c31fff3..469b4e7397 100644 --- a/vlib/compiler/parser.v +++ b/vlib/compiler/parser.v @@ -2522,10 +2522,13 @@ fn (p mut Parser) term() string { p.error('division or modulo by zero') } expr_type := p.unary() - p.check_types(expr_type, typ) - if is_mod && (!is_integer_type(expr_type) || !is_integer_type(typ)) { - p.error('operator % requires integer types') - } + if is_mod { + if !(is_integer_type(expr_type) && is_integer_type(typ)) { + p.error('operator `mod` requires integer types') + } + } else { + p.check_types(expr_type, typ) + } } return typ }