{"action":"opened","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/55277","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/55277/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/55277/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/55277/events","html_url":"https://github.com/rust-lang/rust/issues/55277","id":372754524,"node_id":"MDU6SXNzdWUzNzI3NTQ1MjQ=","number":55277,"title":"Introduce more powerful (nightly) compiler plugins","user":{"login":"Ekleog","id":411447,"node_id":"MDQ6VXNlcjQxMTQ0Nw==","avatar_url":"https://avatars1.githubusercontent.com/u/411447?v=4","gravatar_id":"","url":"https://api.github.com/users/Ekleog","html_url":"https://github.com/Ekleog","followers_url":"https://api.github.com/users/Ekleog/followers","following_url":"https://api.github.com/users/Ekleog/following{/other_user}","gists_url":"https://api.github.com/users/Ekleog/gists{/gist_id}","starred_url":"https://api.github.com/users/Ekleog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ekleog/subscriptions","organizations_url":"https://api.github.com/users/Ekleog/orgs","repos_url":"https://api.github.com/users/Ekleog/repos","events_url":"https://api.github.com/users/Ekleog/events{/privacy}","received_events_url":"https://api.github.com/users/Ekleog/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-23T00:35:53Z","updated_at":"2018-10-23T00:35:53Z","closed_at":null,"author_association":"NONE","body":"I recently came up with a use case that would, I think, require more powerful compiler plugins (that I'm assuming won't reasonably be possible to implement stably anytime soon, hence this not being in the rfcs repo): implementing a MC/DC strategy similar to SQLite's, but with splitting at the crate boundary, so that crates could be independently tested.\r\n\r\nTo do this, I'd need to instrument every single branch in the crate, before any optimization takes place. And so to add a pass that *modifies* the AST or, preferably, the HIR. (I think there are no optimizations at the HIR level… right? there are none mentioned in the rustc guide at least)\r\n\r\nDo you think this is a reasonable feature nightly rust could want?"}}
{"actor":{"display_login":"Ekleog"}}