| 1 | module main |
| 2 | |
| 3 | import maps { from_array, invert, to_map } |
| 4 | |
| 5 | struct CustomSet[T] { |
| 6 | mut: |
| 7 | items map[T]u8 |
| 8 | } |
| 9 | |
| 10 | pub fn CustomSet.new[T](elements []T) CustomSet[T] { |
| 11 | return CustomSet[T]{ |
| 12 | items: to_map[T, int, T, int](invert[T, int](from_array[T](elements)), fn [T](key T, _ int) (T, int) { |
| 13 | return key, 10000 |
| 14 | }) |
| 15 | } |
| 16 | } |
| 17 | |
| 18 | dump(CustomSet.new([1])) |
| 19 |