@@ -3550,8 +3550,7 @@ pub impl Parser {
35503550 fn parse_item_mod( & self , outer_attrs: ~[ ast:: attribute] ) -> item_info {
35513551 let id_span = * self . span;
35523552 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 {
35553554 self. bump( ) ;
35563555 // This mod is in an external file. Let's go get it!
35573556 let ( m, attrs) = self . eval_src_mod( id, outer_attrs, id_span) ;
@@ -3564,38 +3563,6 @@ pub impl Parser {
35643563 self . expect( & token:: RBRACE ) ;
35653564 self . pop_mod_path( ) ;
35663565 ( 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_
35993566 }
36003567 }
36013568
0 commit comments