use rustc_session::parse::{feature_err, feature_err_issue};
use rustc_session::Session;
use rustc_span::source_map::Spanned;
-use rustc_span::symbol::{sym, Symbol};
+use rustc_span::symbol::sym;
use rustc_span::Span;
use tracing::debug;
"thiscall-unwind ABI is experimental and subject to change"
);
}
+ "wasm" => {
+ gate_feature_post!(
+ &self,
+ wasm_abi,
+ span,
+ "wasm ABI is experimental and subject to change"
+ );
+ }
abi => self
.sess
.parse_sess
include => external_doc
cfg => doc_cfg
masked => doc_masked
- spotlight => doc_spotlight
+ notable_trait => doc_notable_trait
keyword => doc_keyword
);
}
}
}
- fn visit_name(&mut self, sp: Span, name: Symbol) {
- if !name.as_str().is_ascii() {
- gate_feature_post!(
- &self,
- non_ascii_idents,
- self.sess.parse_sess.source_map().guess_head_span(sp),
- "non-ascii idents are not fully supported"
- );
- }
- }
-
fn visit_item(&mut self, i: &'a ast::Item) {
match i.kind {
ast::ItemKind::ForeignMod(ref foreign_module) => {
over time"
);
}
- if self.sess.contains_name(&i.attrs[..], sym::main) {
- gate_feature_post!(
- &self,
- main,
- i.span,
- "declaration of a non-standard `#[main]` \
- function may change over time, for now \
- a top-level `fn main()` is required"
- );
- }
}
ast::ItemKind::Struct(..) => {