@@ -12,11 +12,10 @@ extern crate quote;
1212
1313use std:: env;
1414
15- use proc_macro2:: Literal ;
16- use proc_macro2:: { Term , TokenNode , TokenStream , TokenTree } ;
15+ use proc_macro2:: { Literal , Span , Term , TokenStream , TokenTree } ;
1716
1817fn string ( s : & str ) -> TokenTree {
19- TokenNode :: Literal ( Literal :: string ( s) ) . into ( )
18+ Literal :: string ( s) . into ( )
2019}
2120
2221#[ proc_macro_attribute]
@@ -29,12 +28,12 @@ pub fn simd_test(
2928 if tokens. len ( ) != 2 {
3029 panic ! ( "expected #[simd_test = \" feature\" ]" ) ;
3130 }
32- match tokens[ 0 ] . kind {
33- TokenNode :: Op ( '=' , _ ) => { }
31+ match & tokens[ 0 ] {
32+ TokenTree :: Op ( tt ) if tt . op ( ) == '=' => { }
3433 _ => panic ! ( "expected #[simd_test = \" feature\" ]" ) ,
3534 }
36- let target_features = match tokens[ 1 ] . kind {
37- TokenNode :: Literal ( ref l ) => l . to_string ( ) ,
35+ let target_features = match & tokens[ 1 ] {
36+ TokenTree :: Literal ( tt ) => tt . to_string ( ) ,
3837 _ => panic ! ( "expected #[simd_test = \" feature\" ]" ) ,
3938 } ;
4039 let target_features: Vec < String > = target_features
@@ -44,8 +43,8 @@ pub fn simd_test(
4443 . map ( |v| String :: from ( v) )
4544 . collect ( ) ;
4645
47- let enable_feature = match tokens[ 1 ] . kind {
48- TokenNode :: Literal ( ref l ) => l . to_string ( ) ,
46+ let enable_feature = match & tokens[ 1 ] {
47+ TokenTree :: Literal ( tt ) => tt . to_string ( ) ,
4948 _ => panic ! ( "expected #[simd_test = \" feature\" ]" ) ,
5049 } ;
5150 let enable_feature = enable_feature
@@ -88,7 +87,7 @@ pub fn simd_test(
8887 }
8988 t => panic ! ( "unknown target: {}" , t) ,
9089 } ;
91- let macro_test = proc_macro2:: Term :: intern ( macro_test) ;
90+ let macro_test = proc_macro2:: Term :: new ( macro_test, Span :: call_site ( ) ) ;
9291
9392 let mut cfg_target_features = quote:: Tokens :: new ( ) ;
9493 use quote:: ToTokens ;
@@ -123,15 +122,15 @@ pub fn simd_test(
123122fn find_name ( item : TokenStream ) -> Term {
124123 let mut tokens = item. into_iter ( ) ;
125124 while let Some ( tok) = tokens. next ( ) {
126- if let TokenNode :: Term ( word) = tok. kind {
125+ if let TokenTree :: Term ( word) = tok {
127126 if word. as_str ( ) == "fn" {
128127 break ;
129128 }
130129 }
131130 }
132131
133- match tokens. next ( ) . map ( |t| t . kind ) {
134- Some ( TokenNode :: Term ( word) ) => word,
132+ match tokens. next ( ) {
133+ Some ( TokenTree :: Term ( word) ) => word,
135134 _ => panic ! ( "failed to find function name" ) ,
136135 }
137136}
0 commit comments