-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
use super::*
importing private members from parent module
#38176
Comments
It's an intentional change, but everything that makes stable code stop compile is classed as a regression initially. |
Figured as much. I believe technically this is a "minor breaking change" since code can be forwards compatibly changed to handle this by not using glob imports, right? Is it still a regression in that case? Either way a release where this warns instead of erroring would definitely be nice. |
@sgrif right, there can only be a regression when these conditions are met. We landed this change #37127 without a warning cycle because Crater found no breakage. It would be feasible to implement a warning cycle as detailed in #35120 (comment). cc @nrc |
As an aside, I don't think that Crater finding no breakage should be used as justification for skipping warning cycles. It does not examine all available Rust code, or even all code on crates.io |
Discussed in @rust-lang/compiler meeting. Indeed some fallout from these changes was expected but a warning cycle is still appropriate. The only reason to skip a warning cycle is supposed to be if a warning cycle is technically infeasible -- in which case we are to use crater to make a best effort to have all affected crates get updated beforehand. |
triage: P-high Specifically, high priority to add a warning cycle. |
This will pass build on stable but fail current nightly due to rust-lang/rust#38176 . So we are just checking if doc.rs generates stuff if nightly fails but stable passes
This will pass build on stable but fail current nightly due to rust-lang/rust#38176 . So we are just checking if doc.rs generates stuff if nightly fails but stable passes
resolve: change most backwards incompatible ambiguity errors to `legacy_imports` warnings Fixes #38176. r? @nrc or @nikomatsakis
Reproduction script: https://is.gd/qvbF0b
This code compiles on stable and beta but fails to compile on nightly.
use super::*
previously did not include private members. On nightly it is reported that "Foo
is ambiguous"The text was updated successfully, but these errors were encountered: