Crates.io | equivalent |
lib.rs | equivalent |
version | 1.0.1 |
source | src |
created_at | 2023-02-05 22:54:27.71505 |
updated_at | 2023-07-10 20:55:51.823213 |
description | Traits for key comparison in maps. |
homepage | |
repository | https://github.com/cuviper/equivalent |
max_upload_size | |
id | 777488 |
size | 17,590 |
Equivalent
and Comparable
are Rust traits for key comparison in maps.
These may be used in the implementation of maps where the lookup type Q
may be different than the stored key type K
.
Q: Equivalent<K>
checks for equality, similar to the HashMap<K, V>
constraint K: Borrow<Q>, Q: Eq
.Q: Comparable<K>
checks the ordering, similar to the BTreeMap<K, V>
constraint K: Borrow<Q>, Q: Ord
.These traits are not used by the maps in the standard library, but they may
add more flexibility in third-party map implementations, especially in
situations where a strict K: Borrow<Q>
relationship is not available.
Equivalent is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See LICENSE-APACHE and LICENSE-MIT for details. Opening a pull request is assumed to signal agreement with these licensing terms.