1
Fork 0

Rollup merge of #31362 - jseyfried:fix_extern_crate_visibility, r=nikomatsakis

This PR changes the visibility of extern crate declarations to match that of items (fixes #26775).
To avoid breakage, the PR makes it a `public_in_private` lint to reexport a private extern crate, and it adds the lint `inaccessible_extern_crate` for uses of an inaccessible extern crate.

The lints can be avoided by making the appropriate `extern crate` declaration public.
This commit is contained in:
Manish Goregaokar 2016-02-25 11:41:01 +05:30
commit a48f95879d
16 changed files with 140 additions and 72 deletions

View file

@ -5487,13 +5487,6 @@ impl<'a> Parser<'a> {
try!(self.expect(&token::Semi));
let last_span = self.last_span;
if visibility == ast::Visibility::Public {
self.span_warn(mk_sp(lo, last_span.hi),
"`pub extern crate` does not work as expected and should not be used. \
Likely to become an error. Prefer `extern crate` and `pub use`.");
}
Ok(self.mk_item(lo,
last_span.hi,
ident,