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

Use the result of privacy for reachability #9791

Merged
merged 2 commits into from
Oct 10, 2013

Conversation

alexcrichton
Copy link
Member

This fixes a bug in which the visibility rules were approximated by
reachability, but forgot to cover the case where a 'pub use' reexports a private
item. This fixes the commit by instead using the results of the privacy pass of
the compiler to create the initial working set of the reachability pass.

This may have the side effect of increasing the size of metadata, but it's
difficult to avoid for correctness purposes sadly.

Closes #9790

This fixes a bug in which the visibility rules were approximated by
reachability, but forgot to cover the case where a 'pub use' reexports a private
item. This fixes the commit by instead using the results of the privacy pass of
the compiler to create the initial working set of the reachability pass.

This may have the side effect of increasing the size of metadata, but it's
difficult to avoid for correctness purposes sadly.

Closes rust-lang#9790
bors added a commit that referenced this pull request Oct 10, 2013
This fixes a bug in which the visibility rules were approximated by
reachability, but forgot to cover the case where a 'pub use' reexports a private
item. This fixes the commit by instead using the results of the privacy pass of
the compiler to create the initial working set of the reachability pass.

This may have the side effect of increasing the size of metadata, but it's
difficult to avoid for correctness purposes sadly.

Closes #9790
@alexcrichton
Copy link
Member Author

@catamorphism, I remember that you also opened an issue recently about a linkage failure, but a compile success. I have a feeling that it was probably related to this, but I couldn't find the issue. Do you remember which one it was?

Otherwise the test function is internalized and LLVM will most likely optimize
it out.
bors added a commit that referenced this pull request Oct 10, 2013
This fixes a bug in which the visibility rules were approximated by
reachability, but forgot to cover the case where a 'pub use' reexports a private
item. This fixes the commit by instead using the results of the privacy pass of
the compiler to create the initial working set of the reachability pass.

This may have the side effect of increasing the size of metadata, but it's
difficult to avoid for correctness purposes sadly.

Closes #9790
@bors bors closed this Oct 10, 2013
@bors bors merged commit caf7b67 into rust-lang:master Oct 10, 2013
flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 21, 2022
Address issues 9739 and 9782

This PR fixes rust-lang#9739 in the manner I suggested in rust-lang/rust-clippy#9739 (comment).

This PR also fixes the compilation failures in rust-lang#9782 (but doesn't address `@e00E's` other objections).

Fixes rust-lang#9739

r? `@Jarcho`

changelog: Fix two `needless_borrow` false positives, one involving borrows in `if`-`else`s, the other involving qualified function calls
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reexported private functions cause linker errors
2 participants