File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed
src/test/ui/proc-macro/auxiliary/api Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change 99extern crate proc_macro;
1010
1111mod cmp;
12+ mod parse;
1213
1314use proc_macro:: TokenStream ;
1415
1516#[ proc_macro]
1617pub fn run ( input : TokenStream ) -> TokenStream {
1718 assert ! ( input. is_empty( ) ) ;
19+
1820 cmp:: test ( ) ;
21+ parse:: test ( ) ;
22+
1923 TokenStream :: new ( )
2024}
Original file line number Diff line number Diff line change 1+ use proc_macro:: Literal ;
2+
3+ pub fn test ( ) {
4+ test_parse_literal ( ) ;
5+ }
6+
7+ fn test_parse_literal ( ) {
8+ assert_eq ! ( "1" . parse:: <Literal >( ) . unwrap( ) . to_string( ) , "1" ) ;
9+ assert_eq ! ( "1.0" . parse:: <Literal >( ) . unwrap( ) . to_string( ) , "1.0" ) ;
10+ assert_eq ! ( "'a'" . parse:: <Literal >( ) . unwrap( ) . to_string( ) , "'a'" ) ;
11+ assert_eq ! ( "\" \n \" " . parse:: <Literal >( ) . unwrap( ) . to_string( ) , "\" \n \" " ) ;
12+ assert_eq ! ( "b\" \" " . parse:: <Literal >( ) . unwrap( ) . to_string( ) , "b\" \" " ) ;
13+ assert_eq ! ( "r##\" \" ##" . parse:: <Literal >( ) . unwrap( ) . to_string( ) , "r##\" \" ##" ) ;
14+ assert_eq ! ( "10ulong" . parse:: <Literal >( ) . unwrap( ) . to_string( ) , "10ulong" ) ;
15+
16+ assert ! ( "0 1" . parse:: <Literal >( ) . is_err( ) ) ;
17+ assert ! ( "'a" . parse:: <Literal >( ) . is_err( ) ) ;
18+ assert ! ( " 0" . parse:: <Literal >( ) . is_err( ) ) ;
19+ assert ! ( "0 " . parse:: <Literal >( ) . is_err( ) ) ;
20+ assert ! ( "/* comment */0" . parse:: <Literal >( ) . is_err( ) ) ;
21+ assert ! ( "0/* comment */" . parse:: <Literal >( ) . is_err( ) ) ;
22+ assert ! ( "0// comment" . parse:: <Literal >( ) . is_err( ) ) ;
23+ }
You can’t perform that action at this time.
0 commit comments