-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
resolve: Preserve ambiguous glob reexports in crate metadata #147984
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
Conversation
|
rustbot has assigned @jdonszelmann. Use |
|
@bors try |
resolve: Preserve ambiguous glob reexports in crate metadata
This comment has been minimized.
This comment has been minimized.
|
@craterbot check |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🎉 Experiment
Footnotes
|
|
That's a lot of breakage. |
aa2fb6e to
e388d62
Compare
This comment has been minimized.
This comment has been minimized.
|
@bors try
|
This comment has been minimized.
This comment has been minimized.
resolve: Preserve ambiguous glob reexports in crate metadata
|
@craterbot run mode=check-only p=1 crates=https://crater-reports.s3.amazonaws.com/pr-147984/retry-regressed-list.txt |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@bors r=yaahc |
|
☀️ Test successful - checks-actions |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing e2893f7 (parent) -> c61a3a4 (this PR) Test differencesShow 52 test diffsStage 1
Stage 2
Additionally, 50 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard c61a3a44d1a5bee35914cada6c788a05e0808f5b --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (c61a3a4): comparison URL. Overall result: ❌ regressions - please read the text belowOur benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (secondary 2.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -3.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.2%, secondary 0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 471.528s -> 471.772s (0.05%) |
|
Do you think there's something to be done about the regression? Seems like we are fundamentally doing more work here.. |
|
Yes, we are doing more work when there are ambiguous reexports. |
|
cc @Razaekel The error typically looks like this. error: `Perlin` is ambiguous
--> src/terrain.rs:2:22
|
2 | use noise::{NoiseFn, Perlin, Seedable};
| ^^^^^^ ambiguous name
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #114095 <https://github.com/rust-lang/rust/issues/114095>
= note: ambiguous because of multiple glob imports of a name in the same module
note: `Perlin` could refer to the struct defined here
--> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/noise-0.7.0/src/noise_fns/generators.rs:6:9
|
6 | pub use self::perlin::*;
| ^^^^^^^^^^^^
note: `Perlin` could also refer to the struct defined here
--> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/noise-0.7.0/src/noise_fns/generators.rs:7:9
|
7 | pub use self::perlin_surflet::*;
| ^^^^^^^^^^^^^^^^^^^^
= note: `#[deny(ambiguous_glob_imports)]` (part of `#[deny(future_incompatible)]`) on by default |
resolve: Mark items under exported ambiguous imports as exported After rust-lang#147984 one of the imports in an ambiguous import set becomes accessible under a deny-by-default deprecation lint. So if it points to something, that something needs to be marked as exported, so its MIR is encoded into metadata, its symbol is not lost from object files, etc. The added test shows an example. This fixes around 10-20 crater regressions found in rust-lang#149195 (comment). Unblocks rust-lang#149195.
resolve: Mark items under exported ambiguous imports as exported After #147984 one of the imports in an ambiguous import set becomes accessible under a deny-by-default deprecation lint. So if it points to something, that something needs to be marked as exported, so its MIR is encoded into metadata, its symbol is not lost from object files, etc. The added test shows an example. This fixes around 10-20 crater regressions found in #149195 (comment). Unblocks #149195.
resolve: Mark items under exported ambiguous imports as exported After rust-lang#147984 one of the imports in an ambiguous import set becomes accessible under a deny-by-default deprecation lint. So if it points to something, that something needs to be marked as exported, so its MIR is encoded into metadata, its symbol is not lost from object files, etc. The added test shows an example. This fixes around 10-20 crater regressions found in rust-lang#149195 (comment). Unblocks rust-lang#149195.
resolve: Mark items under exported ambiguous imports as exported After #147984 one of the imports in an ambiguous import set becomes accessible under a deny-by-default deprecation lint. So if it points to something, that something needs to be marked as exported, so its MIR is encoded into metadata, its symbol is not lost from object files, etc. The added test shows an example. This fixes around 10-20 crater regressions found in #149195 (comment). Unblocks #149195.
resolve: Mark items under exported ambiguous imports as exported After rust-lang#147984 one of the imports in an ambiguous import set becomes accessible under a deny-by-default deprecation lint. So if it points to something, that something needs to be marked as exported, so its MIR is encoded into metadata, its symbol is not lost from object files, etc. The added test shows an example. This fixes around 10-20 crater regressions found in rust-lang#149195 (comment). Unblocks rust-lang#149195.
So in cross-crate scenarios they can work in the same way as in crate-local scenarios.
Change Description: #147984 (comment)
Resurrection of #114682.
One of unblocking steps for #145108.
Fixes #36837.