Rollup merge of #120840 - HTGAzureX1212:HTGAzureX1212/unicode-identifier-types, r=fmease,Manishearth
Split Diagnostics for Uncommon Codepoints: Add Individual Identifier Types This pull request further modifies the `uncommon_codepoints` lint, adding the individual identifier types of `Technical`, `Not_NFKC`, `Exclusion` and `Limited_Use` to the diagnostic message. Example rendered diagnostic: ``` error: identifier contains a Unicode codepoint that is not used in normalized strings: 'ij' --> $DIR/lint-uncommon-codepoints.rs:6:4 | LL | fn dijkstra() {} | ^^^^^^^ = note: this character is included in the Not_NFKC Unicode general security profile ``` Second step of #120228.
This commit is contained in:
commit
91d337dfa8
8 changed files with 79 additions and 19 deletions
|
@ -244,9 +244,28 @@ lint_hidden_unicode_codepoints = unicode codepoint changing visible direction of
|
|||
lint_identifier_non_ascii_char = identifier contains non-ASCII characters
|
||||
|
||||
lint_identifier_uncommon_codepoints = identifier contains {$codepoints_len ->
|
||||
[one] an uncommon Unicode codepoint
|
||||
*[other] uncommon Unicode codepoints
|
||||
[one] { $identifier_type ->
|
||||
[Exclusion] a character from an archaic script
|
||||
[Technical] a character that is for non-linguistic, specialized usage
|
||||
[Limited_Use] a character from a script in limited use
|
||||
[Not_NFKC] a non normalized (NFKC) character
|
||||
*[other] an uncommon character
|
||||
}
|
||||
*[other] { $identifier_type ->
|
||||
[Exclusion] {$codepoints_len} characters from archaic scripts
|
||||
[Technical] {$codepoints_len} characters that are for non-linguistic, specialized usage
|
||||
[Limited_Use] {$codepoints_len} characters from scripts in limited use
|
||||
[Not_NFKC] {$codepoints_len} non normalized (NFKC) characters
|
||||
*[other] uncommon characters
|
||||
}
|
||||
}: {$codepoints}
|
||||
.note = {$codepoints_len ->
|
||||
[one] this character is
|
||||
*[other] these characters are
|
||||
} included in the{$identifier_type ->
|
||||
[Restricted] {""}
|
||||
*[other] {" "}{$identifier_type}
|
||||
} Unicode general security profile
|
||||
|
||||
lint_ignored_unless_crate_specified = {$level}({$name}) is ignored unless specified at crate level
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue