vxx2 / vlib / v / checker / tests / method_op_alias_err.out
28 lines · 28 sloc · 1.04 KB · 8e35f4d9848f7ad35d857a187dddbfd2eca5e19d
Raw
1vlib/v/checker/tests/method_op_alias_err.vv:4:18: error: expected `Foo` not `Foo2` - both operands must be the same type for operator overloading
2 2 | type Foo2 = string
3 3 |
4 4 | fn (f Foo) + (f1 Foo2) Foo2 {
5 | ~~~~
6 5 | return Foo2(f + f1)
7 6 | }
8vlib/v/checker/tests/method_op_alias_err.vv:5:14: error: infix expr: cannot use `Foo2` (right expression) as `Foo`
9 3 |
10 4 | fn (f Foo) + (f1 Foo2) Foo2 {
11 5 | return Foo2(f + f1)
12 | ~~~~~~
13 6 | }
14 7 |
15vlib/v/checker/tests/method_op_alias_err.vv:14:4: error: operator `+` must return `Foo` to be used as an assignment operator
16 12 | fn main() {
17 13 | mut f := Foo('fg')
18 14 | f += 'fg'
19 | ~~
20 15 | f *= Foo2('2')
21 16 | f -= Foo('fo')
22vlib/v/checker/tests/method_op_alias_err.vv:15:7: error: cannot assign to `f`: expected `Foo`, not `Foo2`
23 13 | mut f := Foo('fg')
24 14 | f += 'fg'
25 15 | f *= Foo2('2')
26 | ~~~~~~~~~
27 16 | f -= Foo('fo')
28 17 | println(f)
29