diff options
Diffstat (limited to 'compiler/rustc_lint/src')
| -rw-r--r-- | compiler/rustc_lint/src/lints.rs | 1 | ||||
| -rw-r--r-- | compiler/rustc_lint/src/non_ascii_idents.rs | 13 | 
2 files changed, 8 insertions, 6 deletions
| diff --git a/compiler/rustc_lint/src/lints.rs b/compiler/rustc_lint/src/lints.rs index 7d63fad3044..e19bb1cb62f 100644 --- a/compiler/rustc_lint/src/lints.rs +++ b/compiler/rustc_lint/src/lints.rs @@ -1109,6 +1109,7 @@ pub struct IdentifierNonAsciiChar; #[diag(lint_identifier_uncommon_codepoints)] pub struct IdentifierUncommonCodepoints { pub codepoints: Vec<char>, + pub codepoints_len: usize, } #[derive(LintDiagnostic)] diff --git a/compiler/rustc_lint/src/non_ascii_idents.rs b/compiler/rustc_lint/src/non_ascii_idents.rs index ec11f7a6130..f78b32ce5e7 100644 --- a/compiler/rustc_lint/src/non_ascii_idents.rs +++ b/compiler/rustc_lint/src/non_ascii_idents.rs @@ -190,15 +190,16 @@ impl EarlyLintPass for NonAsciiIdents { if check_uncommon_codepoints && !symbol_str.chars().all(GeneralSecurityProfile::identifier_allowed) { + let codepoints: Vec<_> = symbol_str + .chars() + .filter(|c| !GeneralSecurityProfile::identifier_allowed(*c)) + .collect(); + let codepoints_len = codepoints.len(); + cx.emit_span_lint( UNCOMMON_CODEPOINTS, sp, - IdentifierUncommonCodepoints { - codepoints: symbol_str - .chars() - .filter(|c| !GeneralSecurityProfile::identifier_allowed(*c)) - .collect(), - }, + IdentifierUncommonCodepoints { codepoints, codepoints_len }, ); } } | 
