{"action":"created","issue":{"url":"https://api.github.com/repos/servo/string-cache/issues/175","repository_url":"https://api.github.com/repos/servo/string-cache","labels_url":"https://api.github.com/repos/servo/string-cache/issues/175/labels{/name}","comments_url":"https://api.github.com/repos/servo/string-cache/issues/175/comments","events_url":"https://api.github.com/repos/servo/string-cache/issues/175/events","html_url":"https://github.com/servo/string-cache/pull/175","id":184544499,"number":175,"title":"Make cmp massively faster for inline atoms","user":{"login":"aidanhs","id":1050652,"avatar_url":"https://avatars.githubusercontent.com/u/1050652?v=3","gravatar_id":"","url":"https://api.github.com/users/aidanhs","html_url":"https://github.com/aidanhs","followers_url":"https://api.github.com/users/aidanhs/followers","following_url":"https://api.github.com/users/aidanhs/following{/other_user}","gists_url":"https://api.github.com/users/aidanhs/gists{/gist_id}","starred_url":"https://api.github.com/users/aidanhs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aidanhs/subscriptions","organizations_url":"https://api.github.com/users/aidanhs/orgs","repos_url":"https://api.github.com/users/aidanhs/repos","events_url":"https://api.github.com/users/aidanhs/events{/privacy}","received_events_url":"https://api.github.com/users/aidanhs/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-10-21T18:43:26Z","updated_at":"2016-10-21T21:26:00Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/servo/string-cache/pulls/175","html_url":"https://github.com/servo/string-cache/pull/175","diff_url":"https://github.com/servo/string-cache/pull/175.diff","patch_url":"https://github.com/servo/string-cache/pull/175.patch"},"body":"This is a big deal if you're putting atoms inside a btreeset since it does a lot of cmp operations.\r\n\r\nIt's more unsafe, but\r\n\r\n1. the only thing that constructs `Inline` atoms should be the `string-cache` code (which I've been utilising fairly heavily)\r\n2. if `string-cache` code *isn't* the only thing constructing atoms, `Dynamic` atoms are wildly unsafe since they contain pointers\r\n3. since the creation of `Inline` atoms is only dependent on length of string (not content) you can exhaustively check correctness just by inlining and derefing strings from `\"a\"` to `\"aaaaaaa\"`. I can add an explicit test for this if you like.\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/servo/string-cache/175)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/servo/string-cache/issues/comments/255469191","html_url":"https://github.com/servo/string-cache/pull/175#issuecomment-255469191","issue_url":"https://api.github.com/repos/servo/string-cache/issues/175","id":255469191,"user":{"login":"bors-servo","id":4368172,"avatar_url":"https://avatars.githubusercontent.com/u/4368172?v=3","gravatar_id":"","url":"https://api.github.com/users/bors-servo","html_url":"https://github.com/bors-servo","followers_url":"https://api.github.com/users/bors-servo/followers","following_url":"https://api.github.com/users/bors-servo/following{/other_user}","gists_url":"https://api.github.com/users/bors-servo/gists{/gist_id}","starred_url":"https://api.github.com/users/bors-servo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bors-servo/subscriptions","organizations_url":"https://api.github.com/users/bors-servo/orgs","repos_url":"https://api.github.com/users/bors-servo/repos","events_url":"https://api.github.com/users/bors-servo/events{/privacy}","received_events_url":"https://api.github.com/users/bors-servo/received_events","type":"User","site_admin":false},"created_at":"2016-10-21T21:26:00Z","updated_at":"2016-10-21T21:26:00Z","body":":sunny: Test successful - [status-travis](https://travis-ci.org/servo/string-cache/builds/169626185)"}}
{"actor":{"display_login":"bors-servo"}}