@@ -1577,15 +1577,12 @@ impure fn parse_item_mod(parser p) -> @ast.item {
1577
1577
ret @spanned ( lo, hi, item) ;
1578
1578
}
1579
1579
1580
-
1581
1580
impure fn parse_item_native_type ( parser p) -> @ast. native_item {
1582
- auto lo = p. get_span ( ) ;
1583
- expect ( p, token. TYPE ) ;
1584
- auto id = parse_ident ( p) ;
1581
+ auto t = parse_type_decl ( p) ;
1585
1582
auto hi = p. get_span ( ) ;
1586
1583
expect ( p, token. SEMI ) ;
1587
- auto item = ast. native_item_ty ( id , p. next_def_id ( ) ) ;
1588
- ret @spanned ( lo , hi, item) ;
1584
+ auto item = ast. native_item_ty ( t . _1 , p. next_def_id ( ) ) ;
1585
+ ret @spanned ( t . _0 , hi, item) ;
1589
1586
}
1590
1587
1591
1588
impure fn parse_native_item ( parser p) -> @ast. native_item {
@@ -1624,18 +1621,23 @@ impure fn parse_item_native_mod(parser p) -> @ast.item {
1624
1621
ret @spanned ( lo, hi, item) ;
1625
1622
}
1626
1623
1627
- impure fn parse_item_type ( parser p) -> @ ast . item {
1624
+ impure fn parse_type_decl ( parser p) -> tup ( span , ast . ident ) {
1628
1625
auto lo = p. get_span ( ) ;
1629
1626
expect ( p, token. TYPE ) ;
1630
1627
auto id = parse_ident ( p) ;
1628
+ ret tup( lo, id) ;
1629
+ }
1630
+
1631
+ impure fn parse_item_type ( parser p) -> @ast . item {
1632
+ auto t = parse_type_decl ( p) ;
1631
1633
auto tps = parse_ty_params ( p) ;
1632
1634
1633
1635
expect ( p, token. EQ ) ;
1634
1636
auto ty = parse_ty ( p) ;
1635
1637
auto hi = p. get_span ( ) ;
1636
1638
expect ( p, token. SEMI ) ;
1637
- auto item = ast. item_ty ( id , ty, tps, p. next_def_id ( ) , ast. ann_none ) ;
1638
- ret @spanned ( lo , hi, item) ;
1639
+ auto item = ast. item_ty ( t . _1 , ty, tps, p. next_def_id ( ) , ast. ann_none ) ;
1640
+ ret @spanned ( t . _0 , hi, item) ;
1639
1641
}
1640
1642
1641
1643
impure fn parse_item_tag ( parser p) -> @ast . item {
0 commit comments