{"action":"created","issue":{"url":"https://api.github.com/repos/sbt/sbt/issues/2441","repository_url":"https://api.github.com/repos/sbt/sbt","labels_url":"https://api.github.com/repos/sbt/sbt/issues/2441/labels{/name}","comments_url":"https://api.github.com/repos/sbt/sbt/issues/2441/comments","events_url":"https://api.github.com/repos/sbt/sbt/issues/2441/events","html_url":"https://github.com/sbt/sbt/pull/2441","id":131384826,"number":2441,"title":"Include ONLY nonpublic vars in API hash of traits","user":{"login":"Duhemm","id":1765926,"avatar_url":"https://avatars.githubusercontent.com/u/1765926?v=3","gravatar_id":"","url":"https://api.github.com/users/Duhemm","html_url":"https://github.com/Duhemm","followers_url":"https://api.github.com/users/Duhemm/followers","following_url":"https://api.github.com/users/Duhemm/following{/other_user}","gists_url":"https://api.github.com/users/Duhemm/gists{/gist_id}","starred_url":"https://api.github.com/users/Duhemm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Duhemm/subscriptions","organizations_url":"https://api.github.com/users/Duhemm/orgs","repos_url":"https://api.github.com/users/Duhemm/repos","events_url":"https://api.github.com/users/Duhemm/events{/privacy}","received_events_url":"https://api.github.com/users/Duhemm/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/sbt/sbt/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":14,"created_at":"2016-02-04T15:36:13Z","updated_at":"2016-02-09T14:43:49Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/sbt/sbt/pulls/2441","html_url":"https://github.com/sbt/sbt/pull/2441","diff_url":"https://github.com/sbt/sbt/pull/2441.diff","patch_url":"https://github.com/sbt/sbt/pull/2441.patch"},"body":"The previous logic was wrong and included all members of traits in their\r\nAPI hash, which degraded the performance of the incremental compiler.\r\n\r\nThis commit changes this logic so that only the non-public members of\r\ntraits are included into their API hash.\r\n\r\nFixes #2436 "},"comment":{"url":"https://api.github.com/repos/sbt/sbt/issues/comments/181896698","html_url":"https://github.com/sbt/sbt/pull/2441#issuecomment-181896698","issue_url":"https://api.github.com/repos/sbt/sbt/issues/2441","id":181896698,"user":{"login":"gkossakowski","id":4217,"avatar_url":"https://avatars.githubusercontent.com/u/4217?v=3","gravatar_id":"","url":"https://api.github.com/users/gkossakowski","html_url":"https://github.com/gkossakowski","followers_url":"https://api.github.com/users/gkossakowski/followers","following_url":"https://api.github.com/users/gkossakowski/following{/other_user}","gists_url":"https://api.github.com/users/gkossakowski/gists{/gist_id}","starred_url":"https://api.github.com/users/gkossakowski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gkossakowski/subscriptions","organizations_url":"https://api.github.com/users/gkossakowski/orgs","repos_url":"https://api.github.com/users/gkossakowski/repos","events_url":"https://api.github.com/users/gkossakowski/events{/privacy}","received_events_url":"https://api.github.com/users/gkossakowski/received_events","type":"User","site_admin":false},"created_at":"2016-02-09T14:43:49Z","updated_at":"2016-02-09T14:43:49Z","body":"Ok, so let's systematically go over a list of different private members we can have:\r\n\r\n  - [x] private var\r\n  - [x] private val\r\n  - [ ] private lazy val\r\n  - [x] private type\r\n  - [ ] private class\r\n  - [ ] private trait\r\n  - [ ] private object\r\n\r\nI checked the ones we discussed so far. What about the rest? Should the hash code of a trait include private hashes of any remaining members from the list?"}}