@@ -1838,7 +1838,7 @@ fn parse_item_mod(&parser p, vec[ast::attribute] attrs) -> @ast::item {
1838
1838
auto lo = p. get_last_lo_pos ( ) ;
1839
1839
auto id = parse_ident ( p) ;
1840
1840
expect ( p, token:: LBRACE ) ;
1841
- auto inner_attrs = parse_inner_attributes ( p) ;
1841
+ auto inner_attrs = parse_inner_attrs_and_next ( p) ;
1842
1842
auto first_item_outer_attrs = inner_attrs. _1 ;
1843
1843
auto m = parse_mod_items ( p, token:: RBRACE ,
1844
1844
first_item_outer_attrs) ;
@@ -2095,8 +2095,8 @@ fn parse_attribute_naked(&parser p, ast::attr_style style,
2095
2095
// next item (since we can't know whether the attribute is an inner attribute
2096
2096
// of the containing item or an outer attribute of the first contained item
2097
2097
// until we see the semi).
2098
- fn parse_inner_attributes ( & parser p) -> tup ( vec[ ast:: attribute ] ,
2099
- vec[ ast:: attribute ] ) {
2098
+ fn parse_inner_attrs_and_next ( & parser p) -> tup ( vec[ ast:: attribute ] ,
2099
+ vec[ ast:: attribute ] ) {
2100
2100
let vec[ ast:: attribute] inner_attrs = [ ] ;
2101
2101
let vec[ ast:: attribute] next_outer_attrs = [ ] ;
2102
2102
while ( p. peek ( ) == token:: POUND ) {
@@ -2117,6 +2117,14 @@ fn parse_inner_attributes(&parser p) -> tup(vec[ast::attribute],
2117
2117
ret tup( inner_attrs, next_outer_attrs) ;
2118
2118
}
2119
2119
2120
+ fn parse_inner_attrs ( & parser p) -> vec[ ast:: attribute ] {
2121
+ auto attrs_and_next = parse_inner_attrs_and_next ( p) ;
2122
+ if ( vec:: len ( attrs_and_next. _1 ) > 0 u) {
2123
+ // FIXME: Don't drop this dangling attr on the ground
2124
+ }
2125
+ ret attrs_and_next. _0 ;
2126
+ }
2127
+
2120
2128
fn parse_meta_item ( & parser p) -> @ast:: meta_item {
2121
2129
auto lo = p. get_lo_pos ( ) ;
2122
2130
auto ident = parse_ident ( p) ;
@@ -2369,6 +2377,8 @@ fn parse_crate_directives(&parser p, token::token term) ->
2369
2377
fn parse_crate_from_crate_file ( & parser p) -> @ast:: crate {
2370
2378
auto lo = p. get_lo_pos ( ) ;
2371
2379
auto prefix = std:: fs:: dirname ( p. get_filemap ( ) . name ) ;
2380
+ // FIXME (issue #487): Do something with these attrs
2381
+ auto attrs = parse_inner_attrs ( p) ;
2372
2382
auto cdirs = parse_crate_directives ( p, token:: EOF ) ;
2373
2383
let vec[ str] deps = [ ] ;
2374
2384
auto cx =
0 commit comments