@@ -4824,8 +4824,14 @@ impl<'a> Parser<'a> {
48244824 return Err ( self . fatal ( & format ! ( "expected item, found `{}`" , token_str) ) ) ;
48254825 }
48264826
4827+ let hi = if self . span == codemap:: DUMMY_SP {
4828+ inner_lo
4829+ } else {
4830+ self . span . lo
4831+ } ;
4832+
48274833 Ok ( ast:: Mod {
4828- inner : mk_sp ( inner_lo, self . span . lo ) ,
4834+ inner : mk_sp ( inner_lo, hi ) ,
48294835 items : items
48304836 } )
48314837 }
@@ -4869,8 +4875,7 @@ impl<'a> Parser<'a> {
48694875
48704876 fn push_mod_path ( & mut self , id : Ident , attrs : & [ Attribute ] ) {
48714877 let default_path = self . id_to_interned_str ( id) ;
4872- let file_path = match :: attr:: first_attr_value_str_by_name ( attrs,
4873- "path" ) {
4878+ let file_path = match :: attr:: first_attr_value_str_by_name ( attrs, "path" ) {
48744879 Some ( d) => d,
48754880 None => default_path,
48764881 } ;
@@ -5003,13 +5008,12 @@ impl<'a> Parser<'a> {
50035008 included_mod_stack. push ( path. clone ( ) ) ;
50045009 drop ( included_mod_stack) ;
50055010
5006- let mut p0 =
5007- new_sub_parser_from_file ( self . sess ,
5008- self . cfg . clone ( ) ,
5009- & path,
5010- owns_directory,
5011- Some ( name) ,
5012- id_sp) ;
5011+ let mut p0 = new_sub_parser_from_file ( self . sess ,
5012+ self . cfg . clone ( ) ,
5013+ & path,
5014+ owns_directory,
5015+ Some ( name) ,
5016+ id_sp) ;
50135017 let mod_inner_lo = p0. span . lo ;
50145018 let mod_attrs = p0. parse_inner_attributes ( ) ;
50155019 let m0 = try!( p0. parse_mod_items ( & token:: Eof , mod_inner_lo) ) ;
0 commit comments