diff --git a/vlib/v/parser/pratt.v b/vlib/v/parser/pratt.v index 50f2deedde..1a5a1e0a1b 100644 --- a/vlib/v/parser/pratt.v +++ b/vlib/v/parser/pratt.v @@ -122,7 +122,10 @@ pub fn (mut p Parser) expr(precedence int) ast.Expr { pos: pos } } else { + save_expr_mod := p.expr_mod + p.expr_mod = '' sizeof_type := p.parse_type() + p.expr_mod = save_expr_mod node = ast.SizeOf{ is_type: true typ: sizeof_type diff --git a/vlib/v/tests/sizeof_test.v b/vlib/v/tests/sizeof_test.v new file mode 100644 index 0000000000..bea1d39360 --- /dev/null +++ b/vlib/v/tests/sizeof_test.v @@ -0,0 +1,6 @@ +import math + +fn test_sizeof() { + r := math.f32_from_bits(sizeof(int)) + assert r > 5.6e-45 && r < 5.7e-45 +}