v2 / vlib / v / tests / comptime_pseudo_fn_with_dollar_test.v
24 lines · 22 sloc · 595 bytes · 3ff5da0de759a706dc095d09fc10cc5520dc36f5
Raw
1module main
2
3struct DollarOffsetStruct {
4 a u8
5 b int
6 c f64
7}
8
9fn test_dollar_prefixed_pseudo_functions() {
10 // vfmt off
11 mut n := 1
12 ptr := &n
13 assert $typeof(n).name == 'int'
14 assert $typeof[string]().name == 'string'
15 assert $sizeof(n) == sizeof(n)
16 assert $sizeof[DollarOffsetStruct]() == sizeof(DollarOffsetStruct)
17 assert $isreftype(ptr)
18 assert $isreftype[&int]()
19 assert !$isreftype[int]()
20 assert $__offsetof(DollarOffsetStruct, b) > $__offsetof(DollarOffsetStruct, a)
21 assert $__offsetof(DollarOffsetStruct, c) > $__offsetof(DollarOffsetStruct, b)
22 assert $dump(n) == n
23 // vfmt on
24}
25