@@ -41,9 +41,7 @@ impl CombineAttributeGroup for ReprGroup {
4141
4242 for param in list. mixed ( ) {
4343 if let Some ( _) = param. lit ( ) {
44- cx. emit_err ( session_diagnostics:: ReprIdent {
45- span : cx. attr_span ,
46- } ) ;
44+ cx. emit_err ( session_diagnostics:: ReprIdent { span : cx. attr_span } ) ;
4745 continue ;
4846 }
4947
@@ -57,22 +55,21 @@ impl CombineAttributeGroup for ReprGroup {
5755
5856macro_rules! int_pat {
5957 ( ) => {
60- sym:: i8
61- | sym:: u8
62- | sym:: i16
63- | sym:: u16
64- | sym:: i32
65- | sym:: u32
66- | sym:: i64
67- | sym:: u64
68- | sym:: i128
69- | sym:: u128
70- | sym:: isize
71- | sym:: usize
58+ sym:: i8
59+ | sym:: u8
60+ | sym:: i16
61+ | sym:: u16
62+ | sym:: i32
63+ | sym:: u32
64+ | sym:: i64
65+ | sym:: u64
66+ | sym:: i128
67+ | sym:: u128
68+ | sym:: isize
69+ | sym:: usize
7270 } ;
7371}
7472
75- // TODO: inline
7673fn int_type_of_word ( s : Symbol ) -> Option < IntType > {
7774 use IntType :: * ;
7875
@@ -93,27 +90,26 @@ fn int_type_of_word(s: Symbol) -> Option<IntType> {
9390 }
9491}
9592
96- fn parse_repr (
97- cx : & AttributeAcceptContext < ' _ > ,
98- param : & MetaItemParser < ' _ > ,
99- ) -> Option < ReprAttr > {
93+ fn parse_repr ( cx : & AttributeAcceptContext < ' _ > , param : & MetaItemParser < ' _ > ) -> Option < ReprAttr > {
10094 use ReprAttr :: * ;
10195
10296 // FIXME(jdonszelmann): invert the parsing here to match on the word first and then the
10397 // structure.
10498 let ( ident, args) = param. word_or_empty ( ) ;
10599
106100 match ( ident. name , args) {
107- ( sym:: align, ArgParser :: NoArgs ) => {
101+ ( sym:: align, ArgParser :: NoArgs ) => {
108102 cx. emit_err ( session_diagnostics:: InvalidReprAlignNeedArg { span : ident. span } ) ;
109103 None
110104 }
111105 ( sym:: align, ArgParser :: List ( l) ) => parse_repr_align ( cx, l, param. span ( ) , AlignKind :: Align ) ,
112106
113107 ( sym:: packed, ArgParser :: NoArgs ) => Some ( ReprPacked ( Align :: ONE ) ) ,
114- ( sym:: packed, ArgParser :: List ( l) ) => parse_repr_align ( cx, l, param. span ( ) , AlignKind :: Packed ) ,
108+ ( sym:: packed, ArgParser :: List ( l) ) => {
109+ parse_repr_align ( cx, l, param. span ( ) , AlignKind :: Packed )
110+ }
115111
116- ( sym:: align | sym:: packed, ArgParser :: NameValue ( l) ) => {
112+ ( sym:: align | sym:: packed, ArgParser :: NameValue ( l) ) => {
117113 cx. emit_err ( session_diagnostics:: IncorrectReprFormatGeneric {
118114 span : param. span ( ) ,
119115 // FIXME(jdonszelmann) can just be a string in the diag type
@@ -127,24 +123,19 @@ fn parse_repr(
127123 None
128124 }
129125
130- ( sym:: Rust , ArgParser :: NoArgs ) => {
131- Some ( ReprRust )
132- }
133- ( sym:: C , ArgParser :: NoArgs ) => {
134- Some ( ReprC )
135- }
136- ( sym:: simd, ArgParser :: NoArgs ) => {
137- Some ( ReprSimd )
138- }
139- ( sym:: transparent, ArgParser :: NoArgs ) => {
140- Some ( ReprTransparent )
141- }
142- ( i@int_pat ! ( ) , ArgParser :: NoArgs ) => {
126+ ( sym:: Rust , ArgParser :: NoArgs ) => Some ( ReprRust ) ,
127+ ( sym:: C , ArgParser :: NoArgs ) => Some ( ReprC ) ,
128+ ( sym:: simd, ArgParser :: NoArgs ) => Some ( ReprSimd ) ,
129+ ( sym:: transparent, ArgParser :: NoArgs ) => Some ( ReprTransparent ) ,
130+ ( i @ int_pat ! ( ) , ArgParser :: NoArgs ) => {
143131 // int_pat!() should make sure it always parses
144132 Some ( ReprInt ( int_type_of_word ( i) . unwrap ( ) ) )
145133 }
146134
147- ( sym:: Rust | sym:: C | sym:: simd | sym:: transparent | int_pat ! ( ) , ArgParser :: NameValue ( _) ) => {
135+ (
136+ sym:: Rust | sym:: C | sym:: simd | sym:: transparent | int_pat ! ( ) ,
137+ ArgParser :: NameValue ( _) ,
138+ ) => {
148139 cx. emit_err ( session_diagnostics:: InvalidReprHintNoValue {
149140 span : param. span ( ) ,
150141 name : ident. to_string ( ) ,
@@ -168,10 +159,15 @@ fn parse_repr(
168159
169160enum AlignKind {
170161 Packed ,
171- Align
162+ Align ,
172163}
173164
174- fn parse_repr_align ( cx : & AttributeAcceptContext < ' _ > , list : & MetaItemListParser < ' _ > , param_span : Span , align_kind : AlignKind ) -> Option < ReprAttr > {
165+ fn parse_repr_align (
166+ cx : & AttributeAcceptContext < ' _ > ,
167+ list : & MetaItemListParser < ' _ > ,
168+ param_span : Span ,
169+ align_kind : AlignKind ,
170+ ) -> Option < ReprAttr > {
175171 use AlignKind :: * ;
176172
177173 let Some ( align) = list. single ( ) else {
@@ -180,14 +176,15 @@ fn parse_repr_align(cx: &AttributeAcceptContext<'_>, list: &MetaItemListParser<'
180176 cx. emit_err ( session_diagnostics:: IncorrectReprFormatPackedOneOrZeroArg {
181177 span : param_span,
182178 } ) ;
183- } ,
179+ }
184180 Align => {
185- cx. dcx ( )
186- . emit_err ( session_diagnostics:: IncorrectReprFormatAlignOneArg { span : param_span } ) ;
181+ cx. dcx ( ) . emit_err ( session_diagnostics:: IncorrectReprFormatAlignOneArg {
182+ span : param_span,
183+ } ) ;
187184 }
188185 }
189186
190- return None
187+ return None ;
191188 } ;
192189
193190 let Some ( lit) = align. lit ( ) else {
@@ -196,15 +193,15 @@ fn parse_repr_align(cx: &AttributeAcceptContext<'_>, list: &MetaItemListParser<'
196193 cx. emit_err ( session_diagnostics:: IncorrectReprFormatPackedExpectInteger {
197194 span : align. span ( ) ,
198195 } ) ;
199- } ,
196+ }
200197 Align => {
201198 cx. emit_err ( session_diagnostics:: IncorrectReprFormatExpectInteger {
202199 span : align. span ( ) ,
203200 } ) ;
204201 }
205202 }
206203
207- return None
204+ return None ;
208205 } ;
209206
210207 match parse_alignment ( & lit. kind ) {
0 commit comments