{"action":"created","issue":{"url":"https://api.github.com/repos/lampepfl/dotty/issues/717","labels_url":"https://api.github.com/repos/lampepfl/dotty/issues/717/labels{/name}","comments_url":"https://api.github.com/repos/lampepfl/dotty/issues/717/comments","events_url":"https://api.github.com/repos/lampepfl/dotty/issues/717/events","html_url":"https://github.com/lampepfl/dotty/pull/717","id":93658988,"number":717,"title":"Add VCEqMethods to overload `==` and `!=` in value classes","user":{"login":"smarter","id":63430,"avatar_url":"https://avatars.githubusercontent.com/u/63430?v=3","gravatar_id":"","url":"https://api.github.com/users/smarter","html_url":"https://github.com/smarter","followers_url":"https://api.github.com/users/smarter/followers","following_url":"https://api.github.com/users/smarter/following{/other_user}","gists_url":"https://api.github.com/users/smarter/gists{/gist_id}","starred_url":"https://api.github.com/users/smarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smarter/subscriptions","organizations_url":"https://api.github.com/users/smarter/orgs","repos_url":"https://api.github.com/users/smarter/repos","events_url":"https://api.github.com/users/smarter/events{/privacy}","received_events_url":"https://api.github.com/users/smarter/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-07-08T00:19:32Z","updated_at":"2015-07-16T10:28:06Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/lampepfl/dotty/pulls/717","html_url":"https://github.com/lampepfl/dotty/pull/717","diff_url":"https://github.com/lampepfl/dotty/pull/717.diff","patch_url":"https://github.com/lampepfl/dotty/pull/717.patch"},"body":"This replaces the peephole optimization in VCElideAllocations (which we only keep to be able to optimize equality for value classes compiled by Scala 2). This is useful because it means that `v1 == v2` and `v1.equals(v2)` will always agree without preventing the user from overloading `equals`.\r\n\r\nNote that I'm not sure if we should get this in now, the semantics are rather tricky and they might lead to some unexpected behaviors, it might be better to decide how we want to deal with equality in Dotty first (for example, we generate calls to `==` in various places, some of them use `Any#==` and some of them do overload resolution on `==`, this should be spec'ed).\r\n\r\n@DarkDimius : Please review "},"comment":{"url":"https://api.github.com/repos/lampepfl/dotty/issues/comments/121921012","html_url":"https://github.com/lampepfl/dotty/pull/717#issuecomment-121921012","issue_url":"https://api.github.com/repos/lampepfl/dotty/issues/717","id":121921012,"user":{"login":"smarter","id":63430,"avatar_url":"https://avatars.githubusercontent.com/u/63430?v=3","gravatar_id":"","url":"https://api.github.com/users/smarter","html_url":"https://github.com/smarter","followers_url":"https://api.github.com/users/smarter/followers","following_url":"https://api.github.com/users/smarter/following{/other_user}","gists_url":"https://api.github.com/users/smarter/gists{/gist_id}","starred_url":"https://api.github.com/users/smarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smarter/subscriptions","organizations_url":"https://api.github.com/users/smarter/orgs","repos_url":"https://api.github.com/users/smarter/repos","events_url":"https://api.github.com/users/smarter/events{/privacy}","received_events_url":"https://api.github.com/users/smarter/received_events","type":"User","site_admin":false},"created_at":"2015-07-16T10:28:06Z","updated_at":"2015-07-16T10:28:06Z","body":"Rebased."}}