Skip to content
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

Fix dataflow graphviz bug, make dataflow graphviz modules public #88129

Merged
merged 2 commits into from
Aug 19, 2021

Conversation

willcrichton
Copy link
Contributor

I'm working on a rustc plugin that uses the dataflow framework for MIR analysis. I've found the graphviz utilities extremely helpful for debugging. However, I had to fork the compiler to expose them since they're currently private. I would appreciate if they could be made public so I can build against a nightly instead of a custom fork. Specifically, this PR:

  • Makes public the rustc_mir::dataflow::framework::graphviz module.
  • Makes public the rustc_mir::util::pretty::write_mir_fn function.

Here's a concrete example of how I'm using the graphviz module: https://github.com/willcrichton/flowistry/blob/97b843b8b06b4004fbb79b5fcfca3e33c7143bc0/src/slicing/mod.rs#L186-L203

Additionally, this PR fixes a small bug in the diff code that incorrectly shows the updated object as the old object.

r? @ecstatic-morse

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 18, 2021
@ecstatic-morse
Copy link
Contributor

@bors r+ rollup

Compiler APIs have no stability guarantees, so I don't see a problem making these public. Thanks for the bug fix (I must have only been using the BitSet impl) and happy hacking!

@bors
Copy link
Contributor

bors commented Aug 18, 2021

📌 Commit 0ce96bd has been approved by ecstatic-morse

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 18, 2021
bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 19, 2021
…laumeGomez

Rollup of 10 pull requests

Successful merges:

 - rust-lang#87818 (Fix anchors display in rustdoc)
 - rust-lang#87983 (Use more accurate spans when proposing adding lifetime to item)
 - rust-lang#88012 (Change WASI's `RawFd` from `u32` to `c_int` (`i32`).)
 - rust-lang#88031 (Make `BuildHasher` object safe)
 - rust-lang#88036 (Fix dead code warning when inline const is used in pattern)
 - rust-lang#88082 (Take into account jobs number for rustdoc GUI tests)
 - rust-lang#88109 (Fix environment variable getter docs)
 - rust-lang#88111 (Add background-color on clickable definitions in source code)
 - rust-lang#88129 (Fix dataflow graphviz bug, make dataflow graphviz modules public)
 - rust-lang#88136 (Move private_unused.rs test to impl-trait)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit e2271cd into rust-lang:master Aug 19, 2021
@rustbot rustbot added this to the 1.56.0 milestone Aug 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants