v/vlib/v/checker/tests/method_op_err.out

77 lines
2.8 KiB
Plaintext

vlib/v/checker/tests/method_op_err.vv:11:1: error: operator methods should have exactly 1 argument
9 | }
10 |
11 | fn (u User) + () {
| ~~~~~~~~~~~~~~~~
12 | }
13 |
vlib/v/checker/tests/method_op_err.vv:14:1: error: both sides of an operator must be the same type
12 | }
13 |
14 | fn (u User) - (f Foo) User {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
15 | return User{u.a - f.a, u.b-f.a}
16 | }
vlib/v/checker/tests/method_op_err.vv:18:1: error: operator comparison methods should return `bool`
16 | }
17 |
18 | fn (u User) > (u1 User) User {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19 | return User{}
20 | }
vlib/v/checker/tests/method_op_err.vv:22:9: error: receiver cannot be `mut` for operator overloading
20 | }
21 |
22 | fn (mut u User) * (u1 User) User {
| ~~~~~~
23 | return User{}
24 | }
vlib/v/checker/tests/method_op_err.vv:26:1: error: argument cannot be `mut` for operator overloading
24 | }
25 |
26 | fn (u User) / (mut u1 User) User {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27 | return User{}
28 | }
vlib/v/checker/tests/method_op_err.vv:36:24: error: infix expr: cannot use `Foo` (right expression) as `User`
34 | fn main() {
35 | println(User{3, 4})
36 | println(User{3, 4} - Foo{3, 3})
| ^
37 | println(User{3, 2} < User{2, 4})
38 | println(User{3, 4} < Foo{3, 4})
vlib/v/checker/tests/method_op_err.vv:37:24: error: operation `User` < `User` does not exist, please define it
35 | println(User{3, 4})
36 | println(User{3, 4} - Foo{3, 3})
37 | println(User{3, 2} < User{2, 4})
| ^
38 | println(User{3, 4} < Foo{3, 4})
39 | mut u := User{3, 4}
vlib/v/checker/tests/method_op_err.vv:38:24: error: mismatched types `User` and `Foo`
36 | println(User{3, 4} - Foo{3, 3})
37 | println(User{3, 2} < User{2, 4})
38 | println(User{3, 4} < Foo{3, 4})
| ^
39 | mut u := User{3, 4}
40 | u += 12
vlib/v/checker/tests/method_op_err.vv:40:10: error: cannot assign to `u`: expected `User`, not `int literal`
38 | println(User{3, 4} < Foo{3, 4})
39 | mut u := User{3, 4}
40 | u += 12
| ~~
41 | u %= User{1, 3}
42 | u += User{2, 3}
vlib/v/checker/tests/method_op_err.vv:41:5: error: operator %= not defined on left operand type `User`
39 | mut u := User{3, 4}
40 | u += 12
41 | u %= User{1, 3}
| ^
42 | u += User{2, 3}
43 | }
vlib/v/checker/tests/method_op_err.vv:42:7: error: operator `+` must return `User` to be used as an assignment operator
40 | u += 12
41 | u %= User{1, 3}
42 | u += User{2, 3}
| ~~
43 | }