Auto merge of #99884 - nnethercote:lexer-improvements, r=matklad
Lexer improvements Some cleanups and small speed improvements. r? `@matklad`
This commit is contained in:
@@ -1112,7 +1112,7 @@ fn span_contains_cfg(cx: &LateContext<'_>, s: Span) -> bool {
|
|||||||
let mut pos = 0usize;
|
let mut pos = 0usize;
|
||||||
let mut iter = tokenize(&snip).map(|t| {
|
let mut iter = tokenize(&snip).map(|t| {
|
||||||
let start = pos;
|
let start = pos;
|
||||||
pos += t.len;
|
pos += t.len as usize;
|
||||||
(t.kind, start..pos)
|
(t.kind, start..pos)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -345,7 +345,7 @@ fn text_has_safety_comment(src: &str, line_starts: &[BytePos], offset: usize) ->
|
|||||||
if line.starts_with("/*") {
|
if line.starts_with("/*") {
|
||||||
let src = src[line_start..line_starts.last().unwrap().to_usize() - offset].trim_start();
|
let src = src[line_start..line_starts.last().unwrap().to_usize() - offset].trim_start();
|
||||||
let mut tokens = tokenize(src);
|
let mut tokens = tokenize(src);
|
||||||
return src[..tokens.next().unwrap().len]
|
return src[..tokens.next().unwrap().len as usize]
|
||||||
.to_ascii_uppercase()
|
.to_ascii_uppercase()
|
||||||
.contains("SAFETY:")
|
.contains("SAFETY:")
|
||||||
&& tokens.all(|t| t.kind == TokenKind::Whitespace);
|
&& tokens.all(|t| t.kind == TokenKind::Whitespace);
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ impl HirEqInterExpr<'_, '_, '_> {
|
|||||||
let mut left_pos = 0;
|
let mut left_pos = 0;
|
||||||
let left = tokenize(&left)
|
let left = tokenize(&left)
|
||||||
.map(|t| {
|
.map(|t| {
|
||||||
let end = left_pos + t.len;
|
let end = left_pos + t.len as usize;
|
||||||
let s = &left[left_pos..end];
|
let s = &left[left_pos..end];
|
||||||
left_pos = end;
|
left_pos = end;
|
||||||
(t, s)
|
(t, s)
|
||||||
@@ -156,7 +156,7 @@ impl HirEqInterExpr<'_, '_, '_> {
|
|||||||
let mut right_pos = 0;
|
let mut right_pos = 0;
|
||||||
let right = tokenize(&right)
|
let right = tokenize(&right)
|
||||||
.map(|t| {
|
.map(|t| {
|
||||||
let end = right_pos + t.len;
|
let end = right_pos + t.len as usize;
|
||||||
let s = &right[right_pos..end];
|
let s = &right[right_pos..end];
|
||||||
right_pos = end;
|
right_pos = end;
|
||||||
(t, s)
|
(t, s)
|
||||||
|
|||||||
Reference in New Issue
Block a user