Remove feature: crate
visibility modifier
This commit is contained in:
parent
6970246886
commit
8cece636b2
17 changed files with 19 additions and 116 deletions
|
@ -25,7 +25,7 @@ use rustc_ast::tokenstream::{self, DelimSpan, Spacing};
|
|||
use rustc_ast::tokenstream::{TokenStream, TokenTree};
|
||||
use rustc_ast::AttrId;
|
||||
use rustc_ast::DUMMY_NODE_ID;
|
||||
use rustc_ast::{self as ast, AnonConst, AttrStyle, AttrVec, Const, CrateSugar, Extern};
|
||||
use rustc_ast::{self as ast, AnonConst, AttrStyle, AttrVec, Const, Extern};
|
||||
use rustc_ast::{Async, Expr, ExprKind, MacArgs, MacArgsEq, MacDelimiter, Mutability, StrLit};
|
||||
use rustc_ast::{HasAttrs, HasTokens, Unsafe, Visibility, VisibilityKind};
|
||||
use rustc_ast_pretty::pprust;
|
||||
|
@ -1245,12 +1245,8 @@ impl<'a> Parser<'a> {
|
|||
res
|
||||
}
|
||||
|
||||
fn is_crate_vis(&self) -> bool {
|
||||
self.token.is_keyword(kw::Crate) && self.look_ahead(1, |t| t != &token::ModSep)
|
||||
}
|
||||
|
||||
/// Parses `pub`, `pub(crate)` and `pub(in path)` plus shortcuts `crate` for `pub(crate)`,
|
||||
/// `pub(self)` for `pub(in self)` and `pub(super)` for `pub(in super)`.
|
||||
/// Parses `pub`, `pub(crate)` and `pub(in path)` plus shortcuts `pub(self)` for `pub(in self)`
|
||||
/// and `pub(super)` for `pub(in super)`.
|
||||
/// If the following element can't be a tuple (i.e., it's a function definition), then
|
||||
/// it's not a tuple struct field), and the contents within the parentheses aren't valid,
|
||||
/// so emit a proper diagnostic.
|
||||
|
@ -1258,17 +1254,6 @@ impl<'a> Parser<'a> {
|
|||
pub fn parse_visibility(&mut self, fbt: FollowedByType) -> PResult<'a, Visibility> {
|
||||
maybe_whole!(self, NtVis, |x| x.into_inner());
|
||||
|
||||
self.expected_tokens.push(TokenType::Keyword(kw::Crate));
|
||||
if self.is_crate_vis() {
|
||||
self.bump(); // `crate`
|
||||
self.sess.gated_spans.gate(sym::crate_visibility_modifier, self.prev_token.span);
|
||||
return Ok(Visibility {
|
||||
span: self.prev_token.span,
|
||||
kind: VisibilityKind::Crate(CrateSugar::JustCrate),
|
||||
tokens: None,
|
||||
});
|
||||
}
|
||||
|
||||
if !self.eat_keyword(kw::Pub) {
|
||||
// We need a span for our `Spanned<VisibilityKind>`, but there's inherently no
|
||||
// keyword to grab a span from for inherited visibility; an empty span at the
|
||||
|
@ -1293,10 +1278,9 @@ impl<'a> Parser<'a> {
|
|||
self.bump(); // `(`
|
||||
self.bump(); // `crate`
|
||||
self.expect(&token::CloseDelim(Delimiter::Parenthesis))?; // `)`
|
||||
let vis = VisibilityKind::Crate(CrateSugar::PubCrate);
|
||||
return Ok(Visibility {
|
||||
span: lo.to(self.prev_token.span),
|
||||
kind: vis,
|
||||
kind: VisibilityKind::Crate,
|
||||
tokens: None,
|
||||
});
|
||||
} else if self.is_keyword_ahead(1, &[kw::In]) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue