{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/28579","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/28579/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/28579/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/28579/events","html_url":"https://github.com/rust-lang/rust/issues/28579","id":107617104,"number":28579,"title":"Fat pointer trait implementations","user":{"login":"Diggsey","id":451321,"avatar_url":"https://avatars.githubusercontent.com/u/451321?v=3","gravatar_id":"","url":"https://api.github.com/users/Diggsey","html_url":"https://github.com/Diggsey","followers_url":"https://api.github.com/users/Diggsey/followers","following_url":"https://api.github.com/users/Diggsey/following{/other_user}","gists_url":"https://api.github.com/users/Diggsey/gists{/gist_id}","starred_url":"https://api.github.com/users/Diggsey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Diggsey/subscriptions","organizations_url":"https://api.github.com/users/Diggsey/orgs","repos_url":"https://api.github.com/users/Diggsey/repos","events_url":"https://api.github.com/users/Diggsey/events{/privacy}","received_events_url":"https://api.github.com/users/Diggsey/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-09-21T23:19:15Z","updated_at":"2015-09-22T14:52:15Z","closed_at":null,"body":"Currently `Hash` is only implemented for thin pointers, and `Eq`/`PartialEq` aren't implemented for any pointers (but `==` works for all pointers).\r\n\r\nAll of these traits should be implemented for all pointers.\r\n\r\nWithout this, it's impossible to implement generic reference-equality semantics that support dynamically sized types, even in unsafe code, thanks to #27570. Even with #27570 it will still be impossible to do safely on stable rust, since `raw::TraitObject` is unstable, and even if it were stable, the type system isn't powerful enough to express when to use `raw::TraitObject` vs a thin pointer.\r\n\r\nFixing this properly will likely require improvements to the type system. Any improvement which solves rust-lang/rfcs#1279 should be enough."},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/142312081","html_url":"https://github.com/rust-lang/rust/issues/28579#issuecomment-142312081","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/28579","id":142312081,"user":{"login":"Diggsey","id":451321,"avatar_url":"https://avatars.githubusercontent.com/u/451321?v=3","gravatar_id":"","url":"https://api.github.com/users/Diggsey","html_url":"https://github.com/Diggsey","followers_url":"https://api.github.com/users/Diggsey/followers","following_url":"https://api.github.com/users/Diggsey/following{/other_user}","gists_url":"https://api.github.com/users/Diggsey/gists{/gist_id}","starred_url":"https://api.github.com/users/Diggsey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Diggsey/subscriptions","organizations_url":"https://api.github.com/users/Diggsey/orgs","repos_url":"https://api.github.com/users/Diggsey/repos","events_url":"https://api.github.com/users/Diggsey/events{/privacy}","received_events_url":"https://api.github.com/users/Diggsey/received_events","type":"User","site_admin":false},"created_at":"2015-09-22T14:52:15Z","updated_at":"2015-09-22T14:52:15Z","body":"> Eq is implemented for all pointers, including fat ones\r\n\r\nAh, it doesn't show up in rustdoc. I guess it's implemented internally in the compiler or something?\r\n\r\n> Anyway, why is\r\n\r\nA truly deep question :thought_balloon: "}}