@@ -128,13 +128,9 @@ impl<'a> Parser<'a> {
128128 constness : respan ( fn_span, Constness :: NotConst ) ,
129129 abi : opt_abi. unwrap_or ( Abi :: C ) ,
130130 } ) ?;
131- let prev_span = self . prev_span ;
132- let item = self . mk_item ( lo. to ( prev_span) ,
133- ident,
134- item_,
135- visibility,
136- maybe_append ( attrs, extra_attrs) ) ;
137- return Ok ( Some ( item) ) ;
131+ let span = lo. to ( self . prev_span ) ;
132+ let attrs = maybe_append ( attrs, extra_attrs) ;
133+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
138134 } else if self . check ( & token:: OpenDelim ( token:: Brace ) ) {
139135 return Ok ( Some (
140136 self . parse_item_foreign_mod ( lo, opt_abi, visibility, attrs, extern_sp) ?,
@@ -149,13 +145,9 @@ impl<'a> Parser<'a> {
149145 // STATIC ITEM
150146 let m = self . parse_mutability ( ) ;
151147 let ( ident, item_, extra_attrs) = self . parse_item_const ( Some ( m) ) ?;
152- let prev_span = self . prev_span ;
153- let item = self . mk_item ( lo. to ( prev_span) ,
154- ident,
155- item_,
156- visibility,
157- maybe_append ( attrs, extra_attrs) ) ;
158- return Ok ( Some ( item) ) ;
148+ let span = lo. to ( self . prev_span ) ;
149+ let attrs = maybe_append ( attrs, extra_attrs) ;
150+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
159151 }
160152 if self . eat_keyword ( kw:: Const ) {
161153 let const_span = self . prev_span ;
@@ -171,13 +163,9 @@ impl<'a> Parser<'a> {
171163 constness : respan ( const_span, Constness :: Const ) ,
172164 abi : Abi :: Rust ,
173165 } ) ?;
174- let prev_span = self . prev_span ;
175- let item = self . mk_item ( lo. to ( prev_span) ,
176- ident,
177- item_,
178- visibility,
179- maybe_append ( attrs, extra_attrs) ) ;
180- return Ok ( Some ( item) ) ;
166+ let span = lo. to ( self . prev_span ) ;
167+ let attrs = maybe_append ( attrs, extra_attrs) ;
168+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
181169 }
182170
183171 // CONST ITEM
@@ -194,13 +182,9 @@ impl<'a> Parser<'a> {
194182 . emit ( ) ;
195183 }
196184 let ( ident, item_, extra_attrs) = self . parse_item_const ( None ) ?;
197- let prev_span = self . prev_span ;
198- let item = self . mk_item ( lo. to ( prev_span) ,
199- ident,
200- item_,
201- visibility,
202- maybe_append ( attrs, extra_attrs) ) ;
203- return Ok ( Some ( item) ) ;
185+ let span = lo. to ( self . prev_span ) ;
186+ let attrs = maybe_append ( attrs, extra_attrs) ;
187+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
204188 }
205189
206190 // Parses `async unsafe? fn`.
@@ -224,14 +208,10 @@ impl<'a> Parser<'a> {
224208 constness : respan ( fn_span, Constness :: NotConst ) ,
225209 abi : Abi :: Rust ,
226210 } ) ?;
227- let prev_span = self . prev_span ;
228- let item = self . mk_item ( lo. to ( prev_span) ,
229- ident,
230- item_,
231- visibility,
232- maybe_append ( attrs, extra_attrs) ) ;
233211 self . ban_async_in_2015 ( async_span) ;
234- return Ok ( Some ( item) ) ;
212+ let span = lo. to ( self . prev_span ) ;
213+ let attrs = maybe_append ( attrs, extra_attrs) ;
214+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
235215 }
236216 }
237217 if self . check_keyword ( kw:: Unsafe ) &&
@@ -246,15 +226,10 @@ impl<'a> Parser<'a> {
246226 self . expect_keyword ( kw:: Trait ) ?;
247227 IsAuto :: Yes
248228 } ;
249- let ( ident, item_, extra_attrs) =
250- self . parse_item_trait ( is_auto, Unsafety :: Unsafe ) ?;
251- let prev_span = self . prev_span ;
252- let item = self . mk_item ( lo. to ( prev_span) ,
253- ident,
254- item_,
255- visibility,
256- maybe_append ( attrs, extra_attrs) ) ;
257- return Ok ( Some ( item) ) ;
229+ let ( ident, item_, extra_attrs) = self . parse_item_trait ( is_auto, Unsafety :: Unsafe ) ?;
230+ let span = lo. to ( self . prev_span ) ;
231+ let attrs = maybe_append ( attrs, extra_attrs) ;
232+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
258233 }
259234 if self . check_keyword ( kw:: Impl ) ||
260235 self . check_keyword ( kw:: Unsafe ) &&
@@ -265,10 +240,10 @@ impl<'a> Parser<'a> {
265240 let defaultness = self . parse_defaultness ( ) ;
266241 let unsafety = self . parse_unsafety ( ) ;
267242 self . expect_keyword ( kw:: Impl ) ?;
268- let ( ident, item , extra_attrs) = self . parse_item_impl ( unsafety, defaultness) ?;
243+ let ( ident, item_ , extra_attrs) = self . parse_item_impl ( unsafety, defaultness) ?;
269244 let span = lo. to ( self . prev_span ) ;
270- return Ok ( Some ( self . mk_item ( span , ident , item , visibility ,
271- maybe_append ( attrs , extra_attrs ) ) ) ) ;
245+ let attrs = maybe_append ( attrs , extra_attrs ) ;
246+ return Ok ( Some ( self . mk_item ( span , ident , item_ , visibility , attrs ) ) ) ;
272247 }
273248 if self . check_keyword ( kw:: Fn ) {
274249 // FUNCTION ITEM
@@ -280,13 +255,9 @@ impl<'a> Parser<'a> {
280255 constness : respan ( fn_span, Constness :: NotConst ) ,
281256 abi : Abi :: Rust ,
282257 } ) ?;
283- let prev_span = self . prev_span ;
284- let item = self . mk_item ( lo. to ( prev_span) ,
285- ident,
286- item_,
287- visibility,
288- maybe_append ( attrs, extra_attrs) ) ;
289- return Ok ( Some ( item) ) ;
258+ let span = lo. to ( self . prev_span ) ;
259+ let attrs = maybe_append ( attrs, extra_attrs) ;
260+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
290261 }
291262 if self . check_keyword ( kw:: Unsafe )
292263 && self . look_ahead ( 1 , |t| * t != token:: OpenDelim ( token:: Brace ) ) {
@@ -307,25 +278,16 @@ impl<'a> Parser<'a> {
307278 constness : respan ( fn_span, Constness :: NotConst ) ,
308279 abi,
309280 } ) ?;
310- let prev_span = self . prev_span ;
311- let item = self . mk_item ( lo. to ( prev_span) ,
312- ident,
313- item_,
314- visibility,
315- maybe_append ( attrs, extra_attrs) ) ;
316- return Ok ( Some ( item) ) ;
281+ let span = lo. to ( self . prev_span ) ;
282+ let attrs = maybe_append ( attrs, extra_attrs) ;
283+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
317284 }
318285 if self . eat_keyword ( kw:: Mod ) {
319286 // MODULE ITEM
320- let ( ident, item_, extra_attrs) =
321- self . parse_item_mod ( & attrs[ ..] ) ?;
322- let prev_span = self . prev_span ;
323- let item = self . mk_item ( lo. to ( prev_span) ,
324- ident,
325- item_,
326- visibility,
327- maybe_append ( attrs, extra_attrs) ) ;
328- return Ok ( Some ( item) ) ;
287+ let ( ident, item_, extra_attrs) = self . parse_item_mod ( & attrs[ ..] ) ?;
288+ let span = lo. to ( self . prev_span ) ;
289+ let attrs = maybe_append ( attrs, extra_attrs) ;
290+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
329291 }
330292 if let Some ( type_) = self . eat_type ( ) {
331293 let ( ident, alias, generics) = type_?;
@@ -334,24 +296,15 @@ impl<'a> Parser<'a> {
334296 AliasKind :: Weak ( ty) => ItemKind :: TyAlias ( ty, generics) ,
335297 AliasKind :: OpaqueTy ( bounds) => ItemKind :: OpaqueTy ( bounds, generics) ,
336298 } ;
337- let prev_span = self . prev_span ;
338- let item = self . mk_item ( lo. to ( prev_span) ,
339- ident,
340- item_,
341- visibility,
342- attrs) ;
343- return Ok ( Some ( item) ) ;
299+ let span = lo. to ( self . prev_span ) ;
300+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
344301 }
345302 if self . eat_keyword ( kw:: Enum ) {
346303 // ENUM ITEM
347304 let ( ident, item_, extra_attrs) = self . parse_item_enum ( ) ?;
348- let prev_span = self . prev_span ;
349- let item = self . mk_item ( lo. to ( prev_span) ,
350- ident,
351- item_,
352- visibility,
353- maybe_append ( attrs, extra_attrs) ) ;
354- return Ok ( Some ( item) ) ;
305+ let span = lo. to ( self . prev_span ) ;
306+ let attrs = maybe_append ( attrs, extra_attrs) ;
307+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
355308 }
356309 if self . check_keyword ( kw:: Trait )
357310 || ( self . check_keyword ( kw:: Auto )
@@ -365,38 +318,25 @@ impl<'a> Parser<'a> {
365318 IsAuto :: Yes
366319 } ;
367320 // TRAIT ITEM
368- let ( ident, item_, extra_attrs) =
369- self . parse_item_trait ( is_auto, Unsafety :: Normal ) ?;
370- let prev_span = self . prev_span ;
371- let item = self . mk_item ( lo. to ( prev_span) ,
372- ident,
373- item_,
374- visibility,
375- maybe_append ( attrs, extra_attrs) ) ;
376- return Ok ( Some ( item) ) ;
321+ let ( ident, item_, extra_attrs) = self . parse_item_trait ( is_auto, Unsafety :: Normal ) ?;
322+ let span = lo. to ( self . prev_span ) ;
323+ let attrs = maybe_append ( attrs, extra_attrs) ;
324+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
377325 }
378326 if self . eat_keyword ( kw:: Struct ) {
379327 // STRUCT ITEM
380328 let ( ident, item_, extra_attrs) = self . parse_item_struct ( ) ?;
381- let prev_span = self . prev_span ;
382- let item = self . mk_item ( lo. to ( prev_span) ,
383- ident,
384- item_,
385- visibility,
386- maybe_append ( attrs, extra_attrs) ) ;
387- return Ok ( Some ( item) ) ;
329+ let span = lo. to ( self . prev_span ) ;
330+ let attrs = maybe_append ( attrs, extra_attrs) ;
331+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
388332 }
389333 if self . is_union_item ( ) {
390334 // UNION ITEM
391335 self . bump ( ) ;
392336 let ( ident, item_, extra_attrs) = self . parse_item_union ( ) ?;
393- let prev_span = self . prev_span ;
394- let item = self . mk_item ( lo. to ( prev_span) ,
395- ident,
396- item_,
397- visibility,
398- maybe_append ( attrs, extra_attrs) ) ;
399- return Ok ( Some ( item) ) ;
337+ let span = lo. to ( self . prev_span ) ;
338+ let attrs = maybe_append ( attrs, extra_attrs) ;
339+ return Ok ( Some ( self . mk_item ( span, ident, item_, visibility, attrs) ) ) ;
400340 }
401341 if let Some ( macro_def) = self . eat_macro_def ( & attrs, & visibility, lo) ? {
402342 return Ok ( Some ( macro_def) ) ;
0 commit comments