{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreigwodlponjbpdjty5yrzcw2qoqeyp32k4lglzcy5sirpgsrlcf664",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3moknkfcv4oh2"
},
"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"
}