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:
commit
a48f95879d
16 changed files with 140 additions and 72 deletions
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue