]> git.lizzy.rs Git - rust.git/blob - src/librustc_lint/non_ascii_idents.rs
Rollup merge of #67543 - JohnTitor:regression-tests, r=Centril
[rust.git] / src / librustc_lint / non_ascii_idents.rs
1 use crate::lint::{EarlyContext, EarlyLintPass, LintArray, LintContext, LintPass};
2 use syntax::ast;
3
4 declare_lint! {
5     pub NON_ASCII_IDENTS,
6     Allow,
7     "detects non-ASCII identifiers"
8 }
9
10 declare_lint_pass!(NonAsciiIdents => [NON_ASCII_IDENTS]);
11
12 impl EarlyLintPass for NonAsciiIdents {
13     fn check_ident(&mut self, cx: &EarlyContext<'_>, ident: ast::Ident) {
14         if !ident.name.as_str().is_ascii() {
15             cx.struct_span_lint(
16                 NON_ASCII_IDENTS,
17                 ident.span,
18                 "identifier contains non-ASCII characters",
19             )
20             .emit();
21         }
22     }
23 }