Bug: 351861702

Clone this repo:
  1. be8ba55 Migrate 25 crates to monorepo by James Farrell · 4 months ago main
  2. 3a417ef Add missing patch for 'extern crate std'. by James Farrell · 4 months ago
  3. a8ad256 Empty commit to trigger merges. by Xin Li · 4 months ago
  4. 8a2870e Merge remote-tracking branch 'origin/upstream' by Inna Palant · 5 months ago
  5. 70883a8 Import 'equivalent' crate by Li-Yu Yu · 6 months ago upstream

Equivalent

crates.io docs

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.

License

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.