Skip to content

Commit bde4fca

Browse files
committed
Confirm that fallback TokenStream can preserve jointness of last punct
1 parent ed6fc44 commit bde4fca

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

tests/test.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use proc_macro2::{Ident, Literal, Spacing, Span, TokenStream, TokenTree};
1+
use proc_macro2::{Ident, Literal, Punct, Spacing, Span, TokenStream, TokenTree};
22
use std::str::{self, FromStr};
33

44
#[test]
@@ -304,6 +304,17 @@ fn punct_before_comment() {
304304
}
305305
}
306306

307+
#[test]
308+
fn joint_last_token() {
309+
let joint_punct = Punct::new(':', Spacing::Joint);
310+
let stream = TokenStream::from(TokenTree::Punct(joint_punct));
311+
let punct = match stream.into_iter().next().unwrap() {
312+
TokenTree::Punct(punct) => punct,
313+
_ => unreachable!(),
314+
};
315+
assert_eq!(punct.spacing(), Spacing::Joint);
316+
}
317+
307318
#[test]
308319
fn raw_identifier() {
309320
let mut tts = TokenStream::from_str("r#dyn").unwrap().into_iter();

0 commit comments

Comments
 (0)