You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
use super::* importing private members from parent module #38176
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"
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.
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).
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.
Activity
bluss commentedon Dec 5, 2016
It's an intentional change, but everything that makes stable code stop compile is classed as a regression initially.
sgrif commentedon Dec 5, 2016
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.
jseyfried commentedon Dec 6, 2016
@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
sgrif commentedon Dec 6, 2016
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
nikomatsakis commentedon Dec 8, 2016
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 commentedon Dec 8, 2016
triage: P-high
Specifically, high priority to add a warning cycle.
test doc.rs
test doc.rs
Auto merge of #38271 - jseyfried:rfc_1560_warning_cycle, r=nrc