1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/v/tests/alias_operator_overloading_test.v

32 lines
433 B
V

pub struct Vector {
vec []f64
}
pub fn (a Vector) + (b Vector) Vector {
size := a.vec.len
if size != b.vec.len {
panic('unequal sizes')
}
mut c := []f64{len: size}
for i in 0 .. size {
c[i] = a.vec[i] + b.vec[i]
}
return Vector{
vec: c
}
}
type Vec = Vector
fn test_alias_operator_overloading() {
a := Vec{
vec: [0.1, 0.2]
}
b := Vec{
vec: [0.3, 0.2]
}
c := a + b
println(c)
assert c.vec == [0.4, 0.4]
}