commit | 7103036e96e104e0fe4ac4888e3be1e2c9eaa7ac | [log] [tgz] |
---|---|---|
author | Android Build Coastguard Worker <[email protected]> | Tue Oct 15 23:10:14 2024 +0000 |
committer | Android Build Coastguard Worker <[email protected]> | Tue Oct 15 23:10:14 2024 +0000 |
tree | f93542d18e8b78e31d1ec913fd501a3f37ee2471 | |
parent | 3a0cae33d86e93e15046f7d367465c66344b26d1 [diff] | |
parent | be8ba55ac7879e255f529724987586f9ee76a894 [diff] |
Snap for 12503729 from be8ba55ac7879e255f529724987586f9ee76a894 to sdk-release Change-Id: I56c2f1a73b776ee5d9cc9e71e719db788ac5ee61
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.