{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreigwodlponjbpdjty5yrzcw2qoqeyp32k4lglzcy5sirpgsrlcf664",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mokuoqpwgy62"
  },
  "path": "/t/the-hashtable-problem-a-litmus-test-for-external-impl-proposals/24396#post_14",
  "publishedAt": "2026-06-18T06:20:51.000Z",
  "site": "https://internals.rust-lang.org",
  "textContent": "ais523:\n\n>   * `Hash` is a safe trait, so nothing forces `K: Hash` and `&K: Hash` to have any relationship to each other, but it is possible to add keys to a hash as `K` and then retrieve them using an `&K`;\n>\n\n\nDoesn't really make a difference, but this isn't true. The standard library itself provides\n\n\n    impl<T> Hash for &T\n    where\n        T: Hash + ?Sized,\n\n\nSo nobody else can provide different impls for K and &K, that would conflict.",
  "title": "The Hashtable Problem: A Litmus Test for External Impl Proposals"
}