v2 / vlib / v / checker / tests / generics_ref_array_arg_mismatch.vv
24 lines · 19 sloc · 307 bytes · e2e5cf8db56f3562c7baa735061690be936bdf3e
Raw
1module main
2
3struct MyStruct[T] {
4 a T
5}
6
7struct Box[T] {}
8
9fn do_it_wrong[T](v []MyStruct[T]) T {
10 return v[0].a
11}
12
13fn (b Box[T]) do_it_wrong(v []MyStruct[T]) T {
14 return v[0].a
15}
16
17fn main() {
18 m := MyStruct[f64]{
19 a: 1.23
20 }
21 a := [&m]
22 println(do_it_wrong[f64](a))
23 println(Box[f64]{}.do_it_wrong(a))
24}
25