@@ -124,35 +124,22 @@ impl<'a> Parser<'a> {
124
124
let lo = self . token . span ;
125
125
// Attributes can't have attributes of their own [Editor's note: not with that attitude]
126
126
self . collect_tokens_no_attrs ( |this| {
127
- if this. eat ( & token:: Pound ) {
128
- let style = if this. eat ( & token:: Not ) {
129
- ast:: AttrStyle :: Inner
130
- } else {
131
- ast:: AttrStyle :: Outer
132
- } ;
127
+ assert ! ( this. eat( & token:: Pound ) , "parse_attribute called in non-attribute position" ) ;
133
128
134
- this. expect ( & token:: OpenDelim ( Delimiter :: Bracket ) ) ?;
135
- let item = this. parse_attr_item ( false ) ?;
136
- this. expect ( & token:: CloseDelim ( Delimiter :: Bracket ) ) ?;
137
- let attr_sp = lo. to ( this. prev_token . span ) ;
129
+ let style =
130
+ if this. eat ( & token:: Not ) { ast:: AttrStyle :: Inner } else { ast:: AttrStyle :: Outer } ;
138
131
139
- // Emit error if inner attribute is encountered and forbidden.
140
- if style == ast :: AttrStyle :: Inner {
141
- this. error_on_forbidden_inner_attr ( attr_sp , inner_parse_policy ) ;
142
- }
132
+ this . expect ( & token :: OpenDelim ( Delimiter :: Bracket ) ) ? ;
133
+ let item = this . parse_attr_item ( false ) ? ;
134
+ this. expect ( & token :: CloseDelim ( Delimiter :: Bracket ) ) ? ;
135
+ let attr_sp = lo . to ( this . prev_token . span ) ;
143
136
144
- Ok ( attr:: mk_attr_from_item (
145
- & self . sess . attr_id_generator ,
146
- item,
147
- None ,
148
- style,
149
- attr_sp,
150
- ) )
151
- } else {
152
- let token_str = pprust:: token_to_string ( & this. token ) ;
153
- let msg = & format ! ( "expected `#`, found `{token_str}`" ) ;
154
- Err ( this. struct_span_err ( this. token . span , msg) )
137
+ // Emit error if inner attribute is encountered and forbidden.
138
+ if style == ast:: AttrStyle :: Inner {
139
+ this. error_on_forbidden_inner_attr ( attr_sp, inner_parse_policy) ;
155
140
}
141
+
142
+ Ok ( attr:: mk_attr_from_item ( & self . sess . attr_id_generator , item, None , style, attr_sp) )
156
143
} )
157
144
}
158
145
0 commit comments