Skip to content
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

resolve: Exclude inaccessible names from single imports #35063

Merged
merged 2 commits into from
Jul 30, 2016

Conversation

jseyfried
Copy link
Contributor

@jseyfried jseyfried commented Jul 27, 2016

If a single import resolves to an inaccessible name in some but not all namespaces, avoid importing the name in the inaccessible namespaces (per rust-lang/rfcs#1560, cc #35120).

Currently, the inaccessible namespaces are imported but cause a privacy error when used.

r? @nrc

@jseyfried
Copy link
Contributor Author

jseyfried commented Jul 27, 2016

This is a minor, backwards compatible change that I think would be nice to land outside the item_like_imports feature gate.

Apart from diagnostics, the only observable effect of this PR is to allow, for example:

mod foo {
    pub fn bar() {}
    mod bar {}
}
fn main() {
    use foo::bar; // Before this PR, the inaccessible module `foo::bar` was imported,
    mod bar {} // so this was a duplicate error.
}

…ll namespaces,

avoid importing the name in the inaccessible namespaces.

Currently, the inaccessible namespaces are imported but cause a privacy error when used.
@jseyfried jseyfried force-pushed the avoid_importing_inaccessible_names branch from 66bd04d to 8205691 Compare July 27, 2016 05:17
@nrc
Copy link
Member

nrc commented Jul 28, 2016

@bors: r+

@bors
Copy link
Contributor

bors commented Jul 28, 2016

📌 Commit 8205691 has been approved by nrc

@alexcrichton
Copy link
Member

@bors: rollup

assuming this isn't very platform-specific and green travis means it's good to go whenever

steveklabnik added a commit to steveklabnik/rust that referenced this pull request Jul 30, 2016
…ble_names, r=nrc

resolve: Exclude inaccessible names from single imports

If a single import resolves to an inaccessible name in some but not all namespaces, avoid importing the name in the inaccessible namespaces.

Currently, the inaccessible namespaces are imported but cause a privacy error when used.

r? @nrc
Manishearth added a commit to Manishearth/rust that referenced this pull request Jul 30, 2016
…ble_names, r=nrc

resolve: Exclude inaccessible names from single imports

If a single import resolves to an inaccessible name in some but not all namespaces, avoid importing the name in the inaccessible namespaces.

Currently, the inaccessible namespaces are imported but cause a privacy error when used.

r? @nrc
bors added a commit that referenced this pull request Jul 30, 2016
Rollup of 8 pull requests

- Successful merges: #35049, #35058, #35063, #35080, #35090, #35094, #35104, #35106
- Failed merges:
@bors bors merged commit 8205691 into rust-lang:master Jul 30, 2016
@jseyfried jseyfried deleted the avoid_importing_inaccessible_names branch October 16, 2016 09:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants