| 1 | import encoding.binary |
| 2 | |
| 3 | pub type Addr = [4]u8 |
| 4 | |
| 5 | pub fn (a Addr) u32() u32 { |
| 6 | return binary.big_endian_u32_fixed(a) |
| 7 | } |
| 8 | |
| 9 | pub fn (a Addr) == (oth Addr) bool { |
| 10 | return a.u32() == oth.u32() |
| 11 | } |
| 12 | |
| 13 | pub fn (a Addr) < (oth Addr) bool { |
| 14 | return a.u32() < oth.u32() |
| 15 | } |
| 16 | |
| 17 | fn 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 | |