Snap for 12361654 from 56b7e7f260a8ad7d28421669d5ac7d6eb9b647ea to 24Q4-release

Change-Id: I224d6b4de57cf8920a86a70633575a29349b5faf
tree: 7c48796a9c73b7c243496a1aaa4577b24eda3fdd
  1. src/
  2. .cargo_vcs_info.json
  3. .gitignore
  4. Android.bp
  5. Cargo.toml
  6. Cargo.toml.orig
  7. cargo_embargo.json
  8. LICENSE-APACHE
  9. LICENSE-MIT
  10. METADATA
  11. MODULE_LICENSE_APACHE2
  12. OWNERS
  13. README.md
README.md

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.