@@ -10,8 +10,8 @@ extern crate proc_macro2;
10
10
extern crate syn;
11
11
12
12
#[ allow( unused_imports) ] use std:: ascii:: AsciiExt ;
13
- use quote :: ToTokens ;
14
- use proc_macro2:: { TokenNode , TokenStream , TokenTree } ;
13
+ use std :: iter ;
14
+ use proc_macro2:: { TokenStream , TokenTree } ;
15
15
16
16
define_proc_macros ! {
17
17
/// Input: the arms of a `match` expression.
@@ -24,12 +24,12 @@ define_proc_macros! {
24
24
pub fn cssparser_internal__assert_ascii_lowercase__max_len( input: & str ) -> String {
25
25
let expr = syn:: parse_str( & format!( "match x {{ {} }}" , input) ) . unwrap( ) ;
26
26
let arms = match expr {
27
- syn:: Expr :: Match ( syn:: ExprMatch { ref arms, .. } ) => arms,
27
+ syn:: Expr :: Match ( syn:: ExprMatch { arms, .. } ) => arms,
28
28
_ => panic!( "expected a match expression, got {:?}" , expr)
29
29
} ;
30
- max_len( arms. iter ( ) . flat_map( |arm| & arm. pats) . filter_map( |pattern| {
31
- let expr = match * pattern {
32
- syn:: Pat :: Lit ( ref expr) => expr,
30
+ max_len( arms. into_iter ( ) . flat_map( |arm| arm. pats) . filter_map( |pattern| {
31
+ let expr = match pattern {
32
+ syn:: Pat :: Lit ( expr) => expr,
33
33
syn:: Pat :: Wild ( _) => return None ,
34
34
_ => panic!( "expected string or wildcard pattern, got {:?}" , pattern)
35
35
} ;
@@ -93,6 +93,6 @@ fn max_len<I: Iterator<Item=usize>>(lengths: I) -> String {
93
93
}
94
94
95
95
fn string_literal ( token : & TokenTree ) -> String {
96
- let lit: syn:: LitStr = syn:: parse2 ( token. clone ( ) . into ( ) ) . expect ( & format ! ( "expected string literal, got {:?}" , token) ) ;
96
+ let lit: syn:: LitStr = syn:: parse2 ( iter :: once ( token. clone ( ) ) . collect ( ) ) . expect ( & format ! ( "expected string literal, got {:?}" , token) ) ;
97
97
lit. value ( )
98
98
}
0 commit comments