vxx2 / vlib / v / checker / tests / method_op_err.out
97 lines · 97 sloc · 3.51 KB · 3d60410b605d001e54f280070d5f952da9de1112
Raw
1vlib/v/checker/tests/method_op_err.vv:18:20: notice: unused parameter: `u1`
2 16 | }
3 17 |
4 18 | fn (mut u User) * (u1 User) User {
5 | ~~
6 19 | return User{}
7 20 | }
8vlib/v/checker/tests/method_op_err.vv:22:20: notice: unused parameter: `u1`
9 20 | }
10 21 |
11 22 | fn (u User) / (mut u1 User) User {
12 | ~~
13 23 | return User{}
14 24 | }
15vlib/v/checker/tests/method_op_err.vv:11:1: error: operator methods should have exactly 1 argument
16 9 | }
17 10 |
18 11 | fn (u User) % () {
19 | ~~~~~~~~~~~~~~~~
20 12 | }
21 13 |
22vlib/v/checker/tests/method_op_err.vv:14:18: error: expected `User` not `Foo` - both operands must be the same type for operator overloading
23 12 | }
24 13 |
25 14 | fn (u User) - (f Foo) User {
26 | ~~~
27 15 | return User{u.a - f.a, u.b - f.a}
28 16 | }
29vlib/v/checker/tests/method_op_err.vv:18:9: error: receiver cannot be `mut` for operator overloading
30 16 | }
31 17 |
32 18 | fn (mut u User) * (u1 User) User {
33 | ~~~~~~
34 19 | return User{}
35 20 | }
36vlib/v/checker/tests/method_op_err.vv:22:1: error: argument cannot be `mut` for operator overloading
37 20 | }
38 21 |
39 22 | fn (u User) / (mut u1 User) User {
40 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 23 | return User{}
42 24 | }
43vlib/v/checker/tests/method_op_err.vv:35:10: error: infix expr: cannot use `Foo` (right expression) as `User`
44 33 | fn main() {
45 34 | println(User{3, 4})
46 35 | println(User{3, 4} - Foo{3, 3})
47 | ~~~~~~~~~~~~~~~~~~~~~~
48 36 | println(User{3, 2} < User{2, 4})
49 37 | println(User{3, 4} < Foo{3, 4})
50vlib/v/checker/tests/method_op_err.vv:36:10: error: undefined operation `User` < `User`
51 34 | println(User{3, 4})
52 35 | println(User{3, 4} - Foo{3, 3})
53 36 | println(User{3, 2} < User{2, 4})
54 | ~~~~~~~~~~~~~~~~~~~~~~~
55 37 | println(User{3, 4} < Foo{3, 4})
56 38 | mut u := User{3, 4}
57vlib/v/checker/tests/method_op_err.vv:37:10: error: mismatched types `User` and `Foo`
58 35 | println(User{3, 4} - Foo{3, 3})
59 36 | println(User{3, 2} < User{2, 4})
60 37 | println(User{3, 4} < Foo{3, 4})
61 | ~~~~~~~~~~~~~~~~~~~~~~
62 38 | mut u := User{3, 4}
63 39 | _ = u
64vlib/v/checker/tests/method_op_err.vv:37:10: error: infix expr: cannot use `Foo` (right expression) as `User`
65 35 | println(User{3, 4} - Foo{3, 3})
66 36 | println(User{3, 2} < User{2, 4})
67 37 | println(User{3, 4} < Foo{3, 4})
68 | ~~~~~~~~~~~~~~~~~~~~~~
69 38 | mut u := User{3, 4}
70 39 | _ = u
71vlib/v/checker/tests/method_op_err.vv:40:7: error: cannot assign to `u`: expected `User`, not `int literal`
72 38 | mut u := User{3, 4}
73 39 | _ = u
74 40 | u += 12
75 | ~~
76 41 | u %= User{1, 3}
77 42 | u += User{2, 3}
78vlib/v/checker/tests/method_op_err.vv:41:2: error: operator %= not defined on left operand type `User`
79 39 | _ = u
80 40 | u += 12
81 41 | u %= User{1, 3}
82 | ^
83 42 | u += User{2, 3}
84 43 | }
85vlib/v/checker/tests/method_op_err.vv:41:4: error: operator `%` must return `User` to be used as an assignment operator
86 39 | _ = u
87 40 | u += 12
88 41 | u %= User{1, 3}
89 | ~~
90 42 | u += User{2, 3}
91 43 | }
92vlib/v/checker/tests/method_op_err.vv:42:4: error: operator `+` must return `User` to be used as an assignment operator
93 40 | u += 12
94 41 | u %= User{1, 3}
95 42 | u += User{2, 3}
96 | ~~
97 43 | }
98