parser: do not allow number => bool casts

pull/2660/head
Alexander Medvednikov 2019-11-05 18:56:19 +03:00
parent 883041fbcc
commit 07e3699700
1 changed files with 3 additions and 0 deletions

View File

@ -516,6 +516,9 @@ fn (p mut Parser) cast(typ string) {
p.cgen.set_placeholder(pos, '*($typ*)(') p.cgen.set_placeholder(pos, '*($typ*)(')
} }
else { else {
if (is_number_type(expr_typ) || is_float_type(expr_typ)) && typ == 'bool' {
p.error('cannot cast a number to `bool`')
}
p.cgen.set_placeholder(pos, '($typ)(') p.cgen.set_placeholder(pos, '($typ)(')
} }
p.check(.rpar) p.check(.rpar)