-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shift mir-dataflow from rustc_borrowck
to rustc_mir
crate.
#42924
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
(I suspect we should not bother landing this until after issue #42903 is resolved, since we may need to revert the |
☔ The latest upstream changes (presumably #42417) made this pull request unmergeable. Please resolve the merge conflicts. |
|
||
pub struct SanityCheck; | ||
|
||
impl MirPass for SanityCheck { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r+ after rebase
Turn `elaborate_drops` and `rustc_peek` implementations into MIR passes that also live in `rustc_mir` crate. Rewire things so `rustc_driver` uses the `ElaborateDrops` from `rustc_mir` crate.
@bors r=arielb1 |
📌 Commit 13cd022 has been approved by |
Shift mir-dataflow from `rustc_borrowck` to `rustc_mir` crate. Shift mir-dataflow from `rustc_borrowck` to `rustc_mir` crate. Turn `elaborate_drops` and `rustc_peek` implementations into MIR passes that also live in `rustc_mir` crate. Rewire things so `rustc_driver` uses the `ElaborateDrops` from `rustc_mir` crate. (This PR is another baby step for mir-borrowck; it is a piece of work that other people want to rebase their stuff on top of, namely developers who are doing other dataflow analyses on top of MIR.) I have deliberately architected this PR in an attempt to minimize the number of actual code changes. The majority of the diff should be little more than changes to mod and use declarations, as well as a few visibility promotions to pub(crate) when a declaration was moved downward in the module hierarchy. (I have no problem with other PR's that move declarations around to try to clean this up; my goal was to ensure that the diff here was as small as possible, to make the review nearly trivial.)
☀️ Test successful - status-appveyor, status-travis |
Shift mir-dataflow from
rustc_borrowck
torustc_mir
crate.Turn
elaborate_drops
andrustc_peek
implementations into MIR passes that also live inrustc_mir
crate.Rewire things so
rustc_driver
uses theElaborateDrops
fromrustc_mir
crate.(This PR is another baby step for mir-borrowck; it is a piece of work that other people want to rebase their stuff on top of, namely developers who are doing other dataflow analyses on top of MIR.)
I have deliberately architected this PR in an attempt to minimize the number of actual code changes. The majority of the diff should be little more than changes to mod and use declarations, as well as a few visibility promotions to pub(crate) when a declaration was moved downward in the module hierarchy.
(I have no problem with other PR's that move declarations around to try to clean this up; my goal was to ensure that the diff here was as small as possible, to make the review nearly trivial.)