v2 / vlib / v / tests / comptime / comptime_match_generic_inside_if_test.v
26 lines · 25 sloc · 313 bytes · 163cbeef0e37f12d8dafcdd03fd56ab9591e6e76
Raw
1fn strange[T](a T, b T) T {
2 if a != 0 {
3 $match T {
4 u8 {
5 return a
6 }
7 i8 {
8 if a > 0 {
9 return a
10 } else {
11 return b
12 }
13 }
14 $else {
15 $compile_error('unknown')
16 }
17 }
18 } else {
19 return b
20 }
21}
22
23fn test_main() {
24 assert strange[u8](0, 1) == 1
25 assert strange[i8](0, 1) == 1
26}
27