Commit 1aa5e96
committed
Switch to foldhash-portable and add generic BuildHasher support
- Replace xxhash-rust with foldhash-portable (portable feature)
- Add S: BuildHasher generic parameter to Filter and Builder
- Preserve hasher across grow/shrink/merge via S: Clone
- Add _with_hasher constructors for Filter; Builder::new(filter) takes an empty Filter
- Add Filter::with_hasher() for swapping hasher (e.g. after deserialization)
- Remove StableHasher LE normalization (foldhash-portable handles it)
- Keep usize/isize → u64/i64 widening for 32-bit compatibility
- Add cross-platform hash stability test (verified on x86_64 LE + PowerPC 32-bit BE)
- Add cross-platform CI job (powerpc, i686, aarch64)
- Document T: Hash stability caveats and custom hasher usage1 parent e5a9982 commit 1aa5e96
File tree
5 files changed
+475
-159
lines changed- .github/workflows
- src
5 files changed
+475
-159
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
39 | 56 | | |
40 | 57 | | |
41 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
46 | 48 | | |
47 | 49 | | |
48 | 50 | | |
| |||
0 commit comments