{"action":"created","issue":{"url":"https://api.github.com/repos/RustPython/RustPython/issues/46","repository_url":"https://api.github.com/repos/RustPython/RustPython","labels_url":"https://api.github.com/repos/RustPython/RustPython/issues/46/labels{/name}","comments_url":"https://api.github.com/repos/RustPython/RustPython/issues/46/comments","events_url":"https://api.github.com/repos/RustPython/RustPython/issues/46/events","html_url":"https://github.com/RustPython/RustPython/issues/46","id":348558244,"node_id":"MDU6SXNzdWUzNDg1NTgyNDQ=","number":46,"title":"Dictionaries are represented internally with string keys","user":{"login":"OddBloke","id":62736,"node_id":"MDQ6VXNlcjYyNzM2","avatar_url":"https://avatars1.githubusercontent.com/u/62736?v=4","gravatar_id":"","url":"https://api.github.com/users/OddBloke","html_url":"https://github.com/OddBloke","followers_url":"https://api.github.com/users/OddBloke/followers","following_url":"https://api.github.com/users/OddBloke/following{/other_user}","gists_url":"https://api.github.com/users/OddBloke/gists{/gist_id}","starred_url":"https://api.github.com/users/OddBloke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OddBloke/subscriptions","organizations_url":"https://api.github.com/users/OddBloke/orgs","repos_url":"https://api.github.com/users/OddBloke/repos","events_url":"https://api.github.com/users/OddBloke/events{/privacy}","received_events_url":"https://api.github.com/users/OddBloke/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-08-08T03:05:53Z","updated_at":"2018-09-02T17:49:48Z","closed_at":null,"author_association":"COLLABORATOR","body":"Python allows any hashable object to be used as a key."},"comment":{"url":"https://api.github.com/repos/RustPython/RustPython/issues/comments/417947408","html_url":"https://github.com/RustPython/RustPython/issues/46#issuecomment-417947408","issue_url":"https://api.github.com/repos/RustPython/RustPython/issues/46","id":417947408,"node_id":"MDEyOklzc3VlQ29tbWVudDQxNzk0NzQwOA==","user":{"login":"OddBloke","id":62736,"node_id":"MDQ6VXNlcjYyNzM2","avatar_url":"https://avatars1.githubusercontent.com/u/62736?v=4","gravatar_id":"","url":"https://api.github.com/users/OddBloke","html_url":"https://github.com/OddBloke","followers_url":"https://api.github.com/users/OddBloke/followers","following_url":"https://api.github.com/users/OddBloke/following{/other_user}","gists_url":"https://api.github.com/users/OddBloke/gists{/gist_id}","starred_url":"https://api.github.com/users/OddBloke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OddBloke/subscriptions","organizations_url":"https://api.github.com/users/OddBloke/orgs","repos_url":"https://api.github.com/users/OddBloke/repos","events_url":"https://api.github.com/users/OddBloke/events{/privacy}","received_events_url":"https://api.github.com/users/OddBloke/received_events","type":"User","site_admin":false},"created_at":"2018-09-02T17:49:48Z","updated_at":"2018-09-02T17:49:48Z","author_association":"COLLABORATOR","body":"A drive-by thought: we need to retain a reference to the key objects somehow, because Python dictionaries allow us to iterate over the keys.\r\n\r\n(Also, `__hash__()` isn't the only thing used in determining identity for dictionary keys:\r\n\r\n```py\r\n>>> class Foo:\r\n...   def __hash__(self):\r\n...     return 1\r\n... \r\n>>> d = {}\r\n>>> d[Foo()] = 1\r\n>>> d[Foo()] = 2\r\n>>> d\r\n{<__main__.Foo object at 0x7fbed66f7c18>: 1, <__main__.Foo object at 0x7fbed66f7be0>: 2}\r\n```\r\n)"}}
{"actor":{"display_login":"OddBloke"}}