Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign up`use super::*` importing private members from parent module #38176
Comments
bluss
added
the
regression-from-stable-to-nightly
label
Dec 5, 2016
This comment has been minimized.
This comment has been minimized.
|
It's an intentional change, but everything that makes stable code stop compile is classed as a regression initially. |
This comment has been minimized.
This comment has been minimized.
|
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. |
This comment has been minimized.
This comment has been minimized.
|
@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 |
This comment has been minimized.
This comment has been minimized.
|
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 |
jseyfried
self-assigned this
Dec 8, 2016
This comment has been minimized.
This comment has been minimized.
|
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. |
nikomatsakis
added
T-compiler
T-lang
labels
Dec 8, 2016
This comment has been minimized.
This comment has been minimized.
|
triage: P-high Specifically, high priority to add a warning cycle. |
sgrif commentedDec 5, 2016
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 "Foois ambiguous"