Snap for 12510720 from 7103036e96e104e0fe4ac4888e3be1e2c9eaa7ac to busytown-mac-infra-release Change-Id: Ia2022540982309c25b970fc9766d2a21e72d0854
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.