Skip to content

Commit 812a17f

Browse files
author
Petr Makhnev
authored
tests: use isreftype[T]() and sizeof[T]() syntax, fix vfmt to support them, when written explicitly (#17103)
1 parent 1113205 commit 812a17f

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

vlib/v/fmt/fmt.v

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2637,17 +2637,17 @@ pub fn (mut f Fmt) selector_expr(node ast.SelectorExpr) {
26372637

26382638
pub fn (mut f Fmt) size_of(node ast.SizeOf) {
26392639
f.write('sizeof')
2640-
if node.is_type {
2641-
// keep the old form for now
2642-
f.write('(')
2640+
if node.is_type && !node.guessed_type {
2641+
// the new form was explicitly written in the source code; keep it:
2642+
f.write('[')
26432643
f.write(f.table.type_to_str_using_aliases(node.typ, f.mod2alias))
2644-
f.write(')')
2644+
f.write(']()')
26452645
return
26462646
}
26472647
if node.is_type {
2648-
f.write('[')
2648+
f.write('(')
26492649
f.write(f.table.type_to_str_using_aliases(node.typ, f.mod2alias))
2650-
f.write(']()')
2650+
f.write(')')
26512651
} else {
26522652
f.write('(')
26532653
f.expr(node.expr)
@@ -2657,17 +2657,17 @@ pub fn (mut f Fmt) size_of(node ast.SizeOf) {
26572657

26582658
pub fn (mut f Fmt) is_ref_type(node ast.IsRefType) {
26592659
f.write('isreftype')
2660-
if node.is_type {
2661-
// keep the old form for now
2662-
f.write('(')
2660+
if node.is_type && !node.guessed_type {
2661+
// the new form was explicitly written in the source code; keep it:
2662+
f.write('[')
26632663
f.write(f.table.type_to_str_using_aliases(node.typ, f.mod2alias))
2664-
f.write(')')
2664+
f.write(']()')
26652665
return
26662666
}
26672667
if node.is_type {
2668-
f.write('[')
2668+
f.write('(')
26692669
f.write(f.table.type_to_str_using_aliases(node.typ, f.mod2alias))
2670-
f.write(']()')
2670+
f.write(')')
26712671
} else {
26722672
f.write('(')
26732673
f.expr(node.expr)

vlib/v/tests/isreftype_test.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ fn test_isreftype() {
2929
assert isreftype(S4) == false
3030
assert isreftype(S5) == true
3131
assert isreftype(f64) == false
32-
assert isreftype([]f64) == true
33-
assert isreftype([3]int) == false
32+
assert isreftype[[]f64]() == true
33+
assert isreftype[[3]int]() == false
3434
}
3535

3636
fn check_ref[T]() string {

vlib/v/tests/sizeof_test.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ fn test_math_sizeof() {
1616

1717
fn test_sizeof() {
1818
assert sizeof(rune) == 4
19-
assert sizeof([44]u8) == 44
19+
assert sizeof[[44]u8]() == 44
2020
assert sizeof(`€`) == 4
2121
// depends on -m32/64
2222
assert sizeof(S1) in [u32(4), 8]

0 commit comments

Comments
 (0)