v2 / vlib / v / tests / aliases / alias_fixed_array_infix_expr_test.v
28 lines · 20 sloc · 566 bytes · 19ea71b35a825e53ad95e1a08679cc83d7279b12
Raw
1import encoding.binary
2
3pub type Addr = [4]u8
4
5pub fn (a Addr) u32() u32 {
6 return binary.big_endian_u32_fixed(a)
7}
8
9pub fn (a Addr) == (oth Addr) bool {
10 return a.u32() == oth.u32()
11}
12
13pub fn (a Addr) < (oth Addr) bool {
14 return a.u32() < oth.u32()
15}
16
17fn test_alias_fixed_array_infix_expr() {
18 addr := Addr([u8(127), 0, 0, 1]!)
19
20 assert addr == Addr([u8(127), 0, 0, 1]!)
21 assert Addr([u8(127), 0, 0, 1]!) == addr
22
23 assert addr == [u8(127), 0, 0, 1]!
24 assert [u8(127), 0, 0, 1]! == addr
25
26 assert addr < Addr([u8(127), 0, 0, 2]!)
27 assert addr < [u8(127), 0, 0, 2]!
28}
29