v2 / vlib / v / tests / generic_selector_ptr_test.v
19 lines · 16 sloc · 270 bytes · 2d314fc9b0a58bfc03e93464f033f641d2de2d52
Raw
1module main
2
3struct Foo123 {
4 field string = 'foobar'
5}
6
7fn gen_func[T](value T) string {
8 $if T is i32 {
9 return '123'
10 } $else $if T is &Foo123 {
11 return value.field
12 } $else {
13 return '123'
14 }
15}
16
17fn test_main() {
18 assert gen_func[&Foo123](&Foo123{}) == 'foobar'
19}
20