@@ -10,7 +10,6 @@ use crate::ast::{Visibility, VisibilityKind, Mutability, FnHeader, ForeignItem,
1010use crate :: ast:: { Ty , TyKind , Generics , GenericBounds , TraitRef , EnumDef , VariantData , StructField } ;
1111use crate :: ast:: { Mac , MacDelimiter , Block , BindingMode , FnDecl , MethodSig , SelfKind , Param } ;
1212use crate :: parse:: token;
13- use crate :: parse:: parser:: maybe_append;
1413use crate :: tokenstream:: { TokenTree , TokenStream } ;
1514use crate :: symbol:: { kw, sym} ;
1615use crate :: source_map:: { self , respan, Span } ;
@@ -416,10 +415,17 @@ impl<'a> Parser<'a> {
416415 ) -> PResult < ' a , Option < P < Item > > > {
417416 let ( ident, item, extra_attrs) = info;
418417 let span = lo. to ( self . prev_span ) ;
419- let attrs = maybe_append ( attrs, extra_attrs) ;
418+ let attrs = Self :: maybe_append ( attrs, extra_attrs) ;
420419 Ok ( Some ( self . mk_item ( span, ident, item, vis, attrs) ) )
421420 }
422421
422+ fn maybe_append < T > ( mut lhs : Vec < T > , mut rhs : Option < Vec < T > > ) -> Vec < T > {
423+ if let Some ( ref mut rhs) = rhs {
424+ lhs. append ( rhs) ;
425+ }
426+ lhs
427+ }
428+
423429 /// This is the fall-through for parsing items.
424430 fn parse_macro_use_or_failure (
425431 & mut self ,
0 commit comments