Skip to content

Commit d3347bb

Browse files
committed
remove eq_unspanned from TokenStream
1 parent 6b5b97a commit d3347bb

File tree

3 files changed

+12
-10
lines changed

3 files changed

+12
-10
lines changed

compiler/rustc_ast/src/tokenstream.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ impl TokenTree {
5757
match (self, other) {
5858
(TokenTree::Token(token, _), TokenTree::Token(token2, _)) => token.kind == token2.kind,
5959
(TokenTree::Delimited(.., delim, tts), TokenTree::Delimited(.., delim2, tts2)) => {
60-
delim == delim2 && tts.eq_unspanned(tts2)
60+
delim == delim2
61+
&& tts.len() == tts2.len()
62+
&& tts.iter().zip(tts2.iter()).all(|(a, b)| a.eq_unspanned(b))
6163
}
6264
_ => false,
6365
}
@@ -694,12 +696,6 @@ impl TokenStream {
694696
TokenStreamIter::new(self)
695697
}
696698

697-
/// Compares two `TokenStream`s, checking equality without regarding span information.
698-
pub fn eq_unspanned(&self, other: &TokenStream) -> bool {
699-
self.len() == other.len()
700-
&& self.iter().zip(other.iter()).all(|(tt1, tt2)| tt1.eq_unspanned(tt2))
701-
}
702-
703699
/// Create a token stream containing a single token with alone spacing. The
704700
/// spacing used for the final token in a constructed stream doesn't matter
705701
/// because it's never used. In practice we arbitrarily use

compiler/rustc_parse/src/parser/tokenstream/tests.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ fn sp(a: u32, b: u32) -> Span {
1414
Span::with_root_ctxt(BytePos(a), BytePos(b))
1515
}
1616

17+
fn cmp_token_stream(a: &TokenStream, b: &TokenStream) -> bool {
18+
a.len() == b.len() && a.iter().zip(b.iter()).all(|(x, y)| x.eq_unspanned(y))
19+
}
20+
1721
#[test]
1822
fn test_concat() {
1923
create_default_session_globals_then(|| {
@@ -25,7 +29,7 @@ fn test_concat() {
2529
eq_res.push_stream(test_snd);
2630
assert_eq!(test_res.iter().count(), 5);
2731
assert_eq!(eq_res.iter().count(), 5);
28-
assert_eq!(test_res.eq_unspanned(&eq_res), true);
32+
assert_eq!(cmp_token_stream(&test_res, &eq_res), true);
2933
})
3034
}
3135

@@ -104,7 +108,7 @@ fn test_dotdotdot() {
104108
stream.push_tree(TokenTree::token_joint(token::Dot, sp(0, 1)));
105109
stream.push_tree(TokenTree::token_joint(token::Dot, sp(1, 2)));
106110
stream.push_tree(TokenTree::token_alone(token::Dot, sp(2, 3)));
107-
assert!(stream.eq_unspanned(&string_to_ts("...")));
111+
assert!(cmp_token_stream(&stream, &string_to_ts("...")));
108112
assert_eq!(stream.iter().count(), 1);
109113
})
110114
}

src/tools/clippy/clippy_utils/src/ast_utils/mod.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -960,5 +960,7 @@ pub fn eq_attr_args(l: &AttrArgs, r: &AttrArgs) -> bool {
960960
}
961961

962962
pub fn eq_delim_args(l: &DelimArgs, r: &DelimArgs) -> bool {
963-
l.delim == r.delim && l.tokens.eq_unspanned(&r.tokens)
963+
l.delim == r.delim
964+
&& l.tokens.len() == r.tokens.len()
965+
&& l.tokens.iter().zip(r.tokens.iter()).all(|(a, b)| a.eq_unspanned(b))
964966
}

0 commit comments

Comments
 (0)