Rollup merge of #141570 - chenyukang:yukang-fix-eq_unspanned, r=workingjubilee
Fix incorrect eq_unspanned in TokenStream Fixes rust-lang/rust#141522 r? ``@workingjubilee`` should we remove this function? since it's used in several places, i'd prefer to keep it.
This commit is contained in:
@@ -14,6 +14,10 @@ fn sp(a: u32, b: u32) -> Span {
|
||||
Span::with_root_ctxt(BytePos(a), BytePos(b))
|
||||
}
|
||||
|
||||
fn cmp_token_stream(a: &TokenStream, b: &TokenStream) -> bool {
|
||||
a.len() == b.len() && a.iter().zip(b.iter()).all(|(x, y)| x.eq_unspanned(y))
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_concat() {
|
||||
create_default_session_globals_then(|| {
|
||||
@@ -25,7 +29,7 @@ fn test_concat() {
|
||||
eq_res.push_stream(test_snd);
|
||||
assert_eq!(test_res.iter().count(), 5);
|
||||
assert_eq!(eq_res.iter().count(), 5);
|
||||
assert_eq!(test_res.eq_unspanned(&eq_res), true);
|
||||
assert_eq!(cmp_token_stream(&test_res, &eq_res), true);
|
||||
})
|
||||
}
|
||||
|
||||
@@ -104,7 +108,7 @@ fn test_dotdotdot() {
|
||||
stream.push_tree(TokenTree::token_joint(token::Dot, sp(0, 1)));
|
||||
stream.push_tree(TokenTree::token_joint(token::Dot, sp(1, 2)));
|
||||
stream.push_tree(TokenTree::token_alone(token::Dot, sp(2, 3)));
|
||||
assert!(stream.eq_unspanned(&string_to_ts("...")));
|
||||
assert!(cmp_token_stream(&stream, &string_to_ts("...")));
|
||||
assert_eq!(stream.iter().count(), 1);
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user