commit | 3a0cae33d86e93e15046f7d367465c66344b26d1 | [log] [tgz] |
---|---|---|
author | Android Build Coastguard Worker <[email protected]> | Tue Oct 08 23:10:02 2024 +0000 |
committer | Android Build Coastguard Worker <[email protected]> | Tue Oct 08 23:10:02 2024 +0000 |
tree | 6c3169d40bc13b5f493e3110dcb83268721323c3 | |
parent | db0738ea3997107c7380aa3a1b0f40225ce43a34 [diff] | |
parent | 3a417efd129eecc8adfc68023975afcbf460ce3c [diff] |
Snap for 12472708 from 3a417efd129eecc8adfc68023975afcbf460ce3c to sdk-release Change-Id: I992916e159c529fabc30c9fed18ac50a6fedd838
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.