@@ -3550,8 +3550,7 @@ pub impl Parser {
3550
3550
fn parse_item_mod( & self , outer_attrs: ~[ ast:: attribute] ) -> item_info {
3551
3551
let id_span = * self . span;
3552
3552
let id = self . parse_ident( ) ;
3553
- let merge = :: attr:: first_attr_value_str_by_name( outer_attrs, "merge" ) ;
3554
- let info_ = if * self . token == token:: SEMI {
3553
+ if * self . token == token:: SEMI {
3555
3554
self. bump( ) ;
3556
3555
// This mod is in an external file. Let's go get it!
3557
3556
let ( m, attrs) = self . eval_src_mod( id, outer_attrs, id_span) ;
@@ -3564,38 +3563,6 @@ pub impl Parser {
3564
3563
self . expect( & token:: RBRACE ) ;
3565
3564
self . pop_mod_path( ) ;
3566
3565
( id, item_mod( m) , Some ( inner) )
3567
- } ;
3568
-
3569
- // XXX: Transitionary hack to do the template work inside core
3570
- // (int-template, iter-trait). If there's a 'merge' attribute
3571
- // on the mod, then we'll go and suck in another file and merge
3572
- // its contents
3573
- match merge {
3574
- Some ( path) => {
3575
- let prefix = Path (
3576
- self . sess. cm. span_to_filename( * self . span) ) ;
3577
- let prefix = prefix. dir_path( ) ;
3578
- let path = Path ( copy * path) ;
3579
- let ( new_mod_item, new_attrs) = self . eval_src_mod_from_path(
3580
- prefix, path, ~[ ] , id_span) ;
3581
-
3582
- let ( main_id, main_mod_item, main_attrs) = info_;
3583
- let main_attrs = main_attrs. get( ) ;
3584
-
3585
- let ( main_mod, new_mod) =
3586
- match ( main_mod_item, new_mod_item) {
3587
- ( item_mod( m) , item_mod( n) ) => ( m, n) ,
3588
- _ => self . bug( "parsed mod item should be mod" )
3589
- } ;
3590
- let merged_mod = ast:: _mod {
3591
- view_items : main_mod. view_items + new_mod. view_items,
3592
- items : main_mod. items + new_mod. items
3593
- } ;
3594
-
3595
- let merged_attrs = main_attrs + new_attrs;
3596
- ( main_id, item_mod( merged_mod) , Some ( merged_attrs) )
3597
- }
3598
- None => info_
3599
3566
}
3600
3567
}
3601
3568
0 commit comments