Skip to content

use super::* importing private members from parent module #38176

Closed

Description

@sgrif

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"

Activity

  1. bluss commented on Dec 5, 2016

    @bluss
    Contributor

    It's an intentional change, but everything that makes stable code stop compile is classed as a regression initially.

  2. sgrif commented on Dec 5, 2016

    @sgrif
    ContributorAuthor

    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.

  3. jseyfried commented on Dec 6, 2016

    @jseyfried
    Contributor

    @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

  4. sgrif commented on Dec 6, 2016

    @sgrif
    ContributorAuthor

    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

  5. self-assigned this
    on Dec 8, 2016
  6. nikomatsakis commented on Dec 8, 2016

    @nikomatsakis
    Contributor

    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.

  7. added
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    T-langRelevant to the language team
    on Dec 8, 2016
  8. nikomatsakis commented on Dec 8, 2016

    @nikomatsakis
    Contributor

    triage: P-high

    Specifically, high priority to add a warning cycle.

  9. added 2 commits that reference this issue on Dec 15, 2016
  10. added a commit that references this issue on Dec 20, 2016
    3038f30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P-highHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-langRelevant to the language teamregression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions