{"action":"created","issue":{"url":"https://api.github.com/repos/scala/scala/issues/4858","labels_url":"https://api.github.com/repos/scala/scala/issues/4858/labels{/name}","comments_url":"https://api.github.com/repos/scala/scala/issues/4858/comments","events_url":"https://api.github.com/repos/scala/scala/issues/4858/events","html_url":"https://github.com/scala/scala/pull/4858","id":118399238,"number":4858,"title":"Eliminate non-escaping boxes, tuples and refs","user":{"login":"lrytz","id":119636,"avatar_url":"https://avatars.githubusercontent.com/u/119636?v=3","gravatar_id":"","url":"https://api.github.com/users/lrytz","html_url":"https://github.com/lrytz","followers_url":"https://api.github.com/users/lrytz/followers","following_url":"https://api.github.com/users/lrytz/following{/other_user}","gists_url":"https://api.github.com/users/lrytz/gists{/gist_id}","starred_url":"https://api.github.com/users/lrytz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lrytz/subscriptions","organizations_url":"https://api.github.com/users/lrytz/orgs","repos_url":"https://api.github.com/users/lrytz/repos","events_url":"https://api.github.com/users/lrytz/events{/privacy}","received_events_url":"https://api.github.com/users/lrytz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/scala/scala/milestones/51","html_url":"https://github.com/scala/scala/milestones/2.12.0-M4","labels_url":"https://api.github.com/repos/scala/scala/milestones/51/labels","id":1337791,"number":51,"title":"2.12.0-M4","description":"Merge to 2.12.x\r\n\r\n  - [ ] traits: refactor back-end to reduce reliance on addinterfaces & mixins (retronym, adriaanm, sethtisue)\r\n  - [ ] traits: compile to interfaces with default methods (retronym, adriaanm)\r\n  - [ ] traits: use INDY instead of static fields in implementation classes, which are no longer emitted (retronym) \r\n  - [X] optimizer: Copy propagation, remove unused values (closures!) and local variables  (lrytz)\r\n  - [ ] optimizer: box-unbox elimination (lrytz)\r\n  - [ ] optimizer: additional closure-specific heuristics for inliner (lrytz)\r\n  - [X] remove genicode (ensure sbt/ide/... still works) (soc, lrytz)\r\n  - [ ] sbt build (szeiger, sethtisue)\r\n  - [ ] collections integration with Java 8 Streams (ichoran)\r\n","creator":{"login":"lrytz","id":119636,"avatar_url":"https://avatars.githubusercontent.com/u/119636?v=3","gravatar_id":"","url":"https://api.github.com/users/lrytz","html_url":"https://github.com/lrytz","followers_url":"https://api.github.com/users/lrytz/followers","following_url":"https://api.github.com/users/lrytz/following{/other_user}","gists_url":"https://api.github.com/users/lrytz/gists{/gist_id}","starred_url":"https://api.github.com/users/lrytz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lrytz/subscriptions","organizations_url":"https://api.github.com/users/lrytz/orgs","repos_url":"https://api.github.com/users/lrytz/repos","events_url":"https://api.github.com/users/lrytz/events{/privacy}","received_events_url":"https://api.github.com/users/lrytz/received_events","type":"User","site_admin":false},"open_issues":14,"closed_issues":51,"state":"open","created_at":"2015-10-05T09:46:45Z","updated_at":"2015-12-18T15:06:51Z","due_on":"2016-01-25T08:00:00Z","closed_at":null},"comments":4,"created_at":"2015-11-23T15:00:38Z","updated_at":"2015-12-22T13:09:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/scala/scala/pulls/4858","html_url":"https://github.com/scala/scala/pull/4858","diff_url":"https://github.com/scala/scala/pull/4858.diff","patch_url":"https://github.com/scala/scala/pull/4858.patch"},"body":"This PR includes the commits of #4846.\r\n\r\nEliminate boxes, tuples and refs that are created and used within a\r\nsingle method without escaping. For details on the implementation see\r\nthe doc comment in class BoxUnbox."},"comment":{"url":"https://api.github.com/repos/scala/scala/issues/comments/166612430","html_url":"https://github.com/scala/scala/pull/4858#issuecomment-166612430","issue_url":"https://api.github.com/repos/scala/scala/issues/4858","id":166612430,"user":{"login":"retronym","id":65551,"avatar_url":"https://avatars.githubusercontent.com/u/65551?v=3","gravatar_id":"","url":"https://api.github.com/users/retronym","html_url":"https://github.com/retronym","followers_url":"https://api.github.com/users/retronym/followers","following_url":"https://api.github.com/users/retronym/following{/other_user}","gists_url":"https://api.github.com/users/retronym/gists{/gist_id}","starred_url":"https://api.github.com/users/retronym/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/retronym/subscriptions","organizations_url":"https://api.github.com/users/retronym/orgs","repos_url":"https://api.github.com/users/retronym/repos","events_url":"https://api.github.com/users/retronym/events{/privacy}","received_events_url":"https://api.github.com/users/retronym/received_events","type":"User","site_admin":false},"created_at":"2015-12-22T13:09:13Z","updated_at":"2015-12-22T13:09:13Z","body":"Any chance for a unit test for \"Run DCE before the closure optimizer (fixes a crash)\" ? Getting pretty close to :santa: on this PR otherwise!"}}