diff --git a/vlib/compiler/gen_c.v b/vlib/compiler/gen_c.v index c4a40ff392..b68d9d98ec 100644 --- a/vlib/compiler/gen_c.v +++ b/vlib/compiler/gen_c.v @@ -516,9 +516,13 @@ fn (p mut Parser) cast(typ string) { p.cgen.set_placeholder(pos, '*($typ*)(') } else { - if (is_number_type(expr_typ) || is_float_type(expr_typ)) && typ == 'bool' { - p.error('cannot cast a number to `bool`') - } + // Nothing can be cast to bool + if typ == 'bool' { + if is_number_type(expr_typ) || is_float_type(expr_typ) { + p.error('cannot cast a number to `bool`') + } + p.error('cannot cast `$expr_typ` to `bool`') + } p.cgen.set_placeholder(pos, '($typ)(') } p.check(.rpar)