diff options
Diffstat (limited to 'src/set.hff')
| -rw-r--r-- | src/set.hff | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/set.hff b/src/set.hff index 955eac3..28e67be 100644 --- a/src/set.hff +++ b/src/set.hff @@ -1,6 +1,10 @@ import "vec.hff"; import "all.hff"; +// KTraits: +// :hash(K) u32 +// :eq(T, T) bool +// :dup(T) T struct Set<T, Traits> { buf Vec<T>, set **const T, @@ -27,7 +31,7 @@ struct Set<T, Traits> { ) } - let i0 = Traits:hash(x) & (self.N - 1); + let i0 u32 = Traits:hash(x) & (self.N - 1); let i int = i0; do { if self.set[i] == #null { @@ -43,7 +47,7 @@ struct Set<T, Traits> { } fn contains(self *Set, x T) bool { - let i0 = Traits:hash(x) & (self.N - 1); + let i0 u32 = Traits:hash(x) & (self.N - 1); let i int = i0; do { if self.set[i] == #null { |