Support raw identifiers
diff --git a/tests/test.rs b/tests/test.rs
index 3b6bcc5..23ff04d 100644
--- a/tests/test.rs
+++ b/tests/test.rs
@@ -1,8 +1,8 @@
extern crate proc_macro2;
-use std::str;
+use std::str::{self, FromStr};
-use proc_macro2::{Term, Literal, TokenStream, Span};
+use proc_macro2::{Term, Literal, TokenStream, Span, TokenTree};
#[test]
fn symbols() {
@@ -66,6 +66,8 @@
fail("1f320");
fail("' static");
fail("'mut");
+ fail("r#1");
+ fail("r#_");
}
#[cfg(procmacro2_semver_exempt)]
@@ -181,3 +183,12 @@
}
}
+#[test]
+fn raw_identifier() {
+ let mut tts = TokenStream::from_str("r#dyn").unwrap().into_iter();
+ match tts.next().unwrap() {
+ TokenTree::Term(raw) => assert_eq!("r#dyn", raw.as_str()),
+ wrong => panic!("wrong token {:?}", wrong),
+ }
+ assert!(tts.next().is_none());
+}