v2 / vlib / v / tests / comptime / comptime_on_generics_func_test.v
24 lines · 21 sloc · 383 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1module main
2
3struct MyStruct {
4 b string
5 c bool
6}
7
8fn get_type[T](t T) T {
9 return t
10}
11
12fn test_main() {
13 my := MyStruct{'cool', false}
14 $for field2 in MyStruct.fields {
15 $if field2.typ is string {
16 var := get_type(my.$(field2.name))
17 assert dump(var) == 'cool'
18 }
19 $if field2.typ is bool {
20 var := get_type(my.$(field2.name))
21 assert dump(var).str() == 'false'
22 }
23 }
24}
25