@@ -10,7 +10,6 @@ use crate::ast::{Visibility, VisibilityKind, Mutability, FnHeader, ForeignItem,
10
10
use crate :: ast:: { Ty , TyKind , Generics , GenericBounds , TraitRef , EnumDef , VariantData , StructField } ;
11
11
use crate :: ast:: { Mac , MacDelimiter , Block , BindingMode , FnDecl , MethodSig , SelfKind , Param } ;
12
12
use crate :: parse:: token;
13
- use crate :: parse:: parser:: maybe_append;
14
13
use crate :: tokenstream:: { TokenTree , TokenStream } ;
15
14
use crate :: symbol:: { kw, sym} ;
16
15
use crate :: source_map:: { self , respan, Span } ;
@@ -416,10 +415,17 @@ impl<'a> Parser<'a> {
416
415
) -> PResult < ' a , Option < P < Item > > > {
417
416
let ( ident, item, extra_attrs) = info;
418
417
let span = lo. to ( self . prev_span ) ;
419
- let attrs = maybe_append ( attrs, extra_attrs) ;
418
+ let attrs = Self :: maybe_append ( attrs, extra_attrs) ;
420
419
Ok ( Some ( self . mk_item ( span, ident, item, vis, attrs) ) )
421
420
}
422
421
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
+
423
429
/// This is the fall-through for parsing items.
424
430
fn parse_macro_use_or_failure (
425
431
& mut self ,
0 commit comments