v2 / vlib / v / checker / tests / generic_fn_decl_err.vv
39 lines · 29 sloc · 443 bytes · 0c8ce3bcb9fd4a2e5bd5f991a5a07da976d780d7
Raw
1module main
2
3struct Db {}
4
5struct User {}
6
7struct Post {}
8
9fn main() {
10 r := Db{}
11 u := User{}
12 p := Post{}
13
14 r.create1(u, p)
15 r.create2(u, &p)
16 r.create3(u, [p])
17 r.create4(u)
18 r.create5(u)
19}
20
21fn (r Db) create1[U](u U, p P) {
22 println('Yo')
23}
24
25fn (r Db) create2[U](u U, p &P) {
26 println('Yo')
27}
28
29fn (r Db) create3[U](u U, p []P) {
30 println('Yo')
31}
32
33fn (r Db) create4[U](u U) P {
34 return P{}
35}
36
37fn (r Db) create5[U](u U) []P {
38 return [P{}]
39}
40