Skip to content

resolve: Exclude inaccessible names from single imports #35063

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

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
Collaborator

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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants