File tree Expand file tree Collapse file tree 1 file changed +25
-7
lines changed Expand file tree Collapse file tree 1 file changed +25
-7
lines changed Original file line number Diff line number Diff line change @@ -91,11 +91,20 @@ impl TokenStreamExt for TokenStream {
9191 I :: Item : ToTokens ,
9292 U : ToTokens ,
9393 {
94- for ( i, token) in iter. into_iter ( ) . enumerate ( ) {
95- if i > 0 {
96- op. to_tokens ( self ) ;
94+ do_append_separated ( self , iter. into_iter ( ) , op) ;
95+
96+ fn do_append_separated < I , U > ( stream : & mut TokenStream , iter : I , op : U )
97+ where
98+ I : Iterator ,
99+ I :: Item : ToTokens ,
100+ U : ToTokens ,
101+ {
102+ for ( i, token) in iter. into_iter ( ) . enumerate ( ) {
103+ if i > 0 {
104+ op. to_tokens ( stream) ;
105+ }
106+ token. to_tokens ( stream) ;
97107 }
98- token. to_tokens ( self ) ;
99108 }
100109 }
101110
@@ -105,9 +114,18 @@ impl TokenStreamExt for TokenStream {
105114 I :: Item : ToTokens ,
106115 U : ToTokens ,
107116 {
108- for token in iter {
109- token. to_tokens ( self ) ;
110- term. to_tokens ( self ) ;
117+ do_append_terminated ( self , iter. into_iter ( ) , term) ;
118+
119+ fn do_append_terminated < I , U > ( stream : & mut TokenStream , iter : I , term : U )
120+ where
121+ I : Iterator ,
122+ I :: Item : ToTokens ,
123+ U : ToTokens ,
124+ {
125+ for token in iter {
126+ token. to_tokens ( stream) ;
127+ term. to_tokens ( stream) ;
128+ }
111129 }
112130 }
113131}
You can’t perform that action at this time.
0 commit comments