std: rewrite Hash to make it more generic
This patch merges IterBytes and Hash traits, which clears up the confusion of using `#[deriving(IterBytes)]` to support hashing. Instead, it now is much easier to use the new `#[deriving(Hash)]` for making a type hashable with a stream hash. Furthermore, it supports custom non-stream-based hashers, such as if a value's hash was cached in a database. This does not yet replace the old IterBytes-hash with this new version.
This commit is contained in:
parent
0135b521ad
commit
d223dd1e57
25 changed files with 1154 additions and 15 deletions
|
|
@ -119,7 +119,8 @@ for (trait, supers, errs) in [('Rand', [], 1),
|
|||
('Clone', [], 1), ('DeepClone', ['Clone'], 1),
|
||||
('Eq', [], 2), ('Ord', [], 8),
|
||||
('TotalEq', [], 1), ('TotalOrd', ['TotalEq'], 1),
|
||||
('Show', [], 1)]:
|
||||
('Show', [], 1),
|
||||
('Hash', [], 1)]:
|
||||
traits[trait] = (ALL, supers, errs)
|
||||
|
||||
for (trait, (types, super_traits, error_count)) in traits.items():
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue