Optimize check_keyword_case
.
`to_lowercase` allocates, but `eq_ignore_ascii_case` doesn't. This path is hot enough that this makes a small but noticeable difference in benchmarking.
This commit is contained in:
parent
f7273e0044
commit
99d02fb40f
1 changed files with 2 additions and 1 deletions
|
@ -641,9 +641,10 @@ impl<'a> Parser<'a> {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Do an ASCII case-insensitive match, because all keywords are ASCII.
|
||||||
if case == Case::Insensitive
|
if case == Case::Insensitive
|
||||||
&& let Some((ident, IdentIsRaw::No)) = self.token.ident()
|
&& let Some((ident, IdentIsRaw::No)) = self.token.ident()
|
||||||
&& ident.as_str().to_lowercase() == kw.as_str().to_lowercase()
|
&& ident.as_str().eq_ignore_ascii_case(kw.as_str())
|
||||||
{
|
{
|
||||||
true
|
true
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue