@@ -4107,38 +4107,34 @@ pub impl Parser {
4107
4107
maybe_append ( attrs,
4108
4108
extra_attrs) ) ) ;
4109
4109
}
4110
- if !foreign_items_allowed {
4110
+ if items_allowed {
4111
4111
// EXTERN MODULE ITEM
4112
4112
return self . parse_item_foreign_mod ( lo, opt_abis, visibility, attrs,
4113
4113
items_allowed) ;
4114
4114
}
4115
4115
}
4116
- if items_allowed && !foreign_items_allowed &&
4117
- self . eat_keyword ( & ~"mod ") {
4116
+ if items_allowed && self . eat_keyword ( & ~"mod ") {
4118
4117
// MODULE ITEM
4119
4118
let ( ident, item_, extra_attrs) = self . parse_item_mod ( attrs) ;
4120
4119
return iovi_item ( self . mk_item ( lo, self . last_span . hi , ident, item_,
4121
4120
visibility,
4122
4121
maybe_append ( attrs, extra_attrs) ) ) ;
4123
4122
}
4124
- if items_allowed && !foreign_items_allowed &&
4125
- self . eat_keyword ( & ~"type ") {
4123
+ if items_allowed && self . eat_keyword ( & ~"type ") {
4126
4124
// TYPE ITEM
4127
4125
let ( ident, item_, extra_attrs) = self . parse_item_type ( ) ;
4128
4126
return iovi_item ( self . mk_item ( lo, self . last_span . hi , ident, item_,
4129
4127
visibility,
4130
4128
maybe_append ( attrs, extra_attrs) ) ) ;
4131
4129
}
4132
- if items_allowed && !foreign_items_allowed &&
4133
- self . eat_keyword ( & ~"enum ") {
4130
+ if items_allowed && self . eat_keyword ( & ~"enum ") {
4134
4131
// ENUM ITEM
4135
4132
let ( ident, item_, extra_attrs) = self . parse_item_enum ( ) ;
4136
4133
return iovi_item ( self . mk_item ( lo, self . last_span . hi , ident, item_,
4137
4134
visibility,
4138
4135
maybe_append ( attrs, extra_attrs) ) ) ;
4139
4136
}
4140
- if items_allowed && !foreign_items_allowed &&
4141
- self . eat_keyword ( & ~"trait ") {
4137
+ if items_allowed && self . eat_keyword ( & ~"trait ") {
4142
4138
// TRAIT ITEM
4143
4139
let ( ident, item_, extra_attrs) = self . parse_item_trait ( ) ;
4144
4140
return iovi_item ( self . mk_item ( lo, self . last_span . hi , ident, item_,
@@ -4154,15 +4150,14 @@ pub impl Parser {
4154
4150
visibility,
4155
4151
maybe_append ( attrs, extra_attrs) ) ) ;
4156
4152
}
4157
- if items_allowed && !foreign_items_allowed &&
4158
- self . eat_keyword ( & ~"struct ") {
4153
+ if items_allowed && self . eat_keyword ( & ~"struct ") {
4159
4154
// STRUCT ITEM
4160
4155
let ( ident, item_, extra_attrs) = self . parse_item_struct ( ) ;
4161
4156
return iovi_item ( self . mk_item ( lo, self . last_span . hi , ident, item_,
4162
4157
visibility,
4163
4158
maybe_append ( attrs, extra_attrs) ) ) ;
4164
4159
}
4165
- if !foreign_items_allowed && self . eat_keyword ( & ~"use ") {
4160
+ if items_allowed && self . eat_keyword ( & ~"use ") {
4166
4161
// USE ITEM
4167
4162
let view_item = self . parse_use ( ) ;
4168
4163
self . expect ( & token:: SEMI ) ;
0 commit comments