@@ -128,82 +128,110 @@ macro_rules! getsockopt_impl {
128
128
/// * `$getter:ty`: `Get` implementation; optional; only for `GetOnly` and `Both`.
129
129
/// * `$setter:ty`: `Set` implementation; optional; only for `SetOnly` and `Both`.
130
130
macro_rules! sockopt_impl {
131
- ( $name: ident, GetOnly , $level: expr, $flag: path, bool ) => {
132
- sockopt_impl!( $name, GetOnly , $level, $flag, bool , GetBool ) ;
131
+ ( $( #[ $attr: meta] ) * $name: ident, GetOnly , $level: expr, $flag: path, bool ) => {
132
+ sockopt_impl!( $( #[ $attr] ) *
133
+ $name, GetOnly , $level, $flag, bool , GetBool ) ;
133
134
} ;
134
135
135
- ( $name: ident, GetOnly , $level: expr, $flag: path, u8 ) => {
136
- sockopt_impl!( $name, GetOnly , $level, $flag, u8 , GetU8 ) ;
136
+ ( $( # [ $attr : meta ] ) * $ name: ident, GetOnly , $level: expr, $flag: path, u8 ) => {
137
+ sockopt_impl!( $( # [ $attr ] ) * $ name, GetOnly , $level, $flag, u8 , GetU8 ) ;
137
138
} ;
138
139
139
- ( $name: ident, GetOnly , $level: expr, $flag: path, usize ) => {
140
- sockopt_impl!( $name, GetOnly , $level, $flag, usize , GetUsize ) ;
140
+ ( $( #[ $attr: meta] ) * $name: ident, GetOnly , $level: expr, $flag: path, usize ) =>
141
+ {
142
+ sockopt_impl!( $( #[ $attr] ) *
143
+ $name, GetOnly , $level, $flag, usize , GetUsize ) ;
141
144
} ;
142
145
143
- ( $name: ident, SetOnly , $level: expr, $flag: path, bool ) => {
144
- sockopt_impl!( $name, SetOnly , $level, $flag, bool , SetBool ) ;
146
+ ( $( #[ $attr: meta] ) * $name: ident, SetOnly , $level: expr, $flag: path, bool ) => {
147
+ sockopt_impl!( $( #[ $attr] ) *
148
+ $name, SetOnly , $level, $flag, bool , SetBool ) ;
145
149
} ;
146
150
147
- ( $name: ident, SetOnly , $level: expr, $flag: path, u8 ) => {
148
- sockopt_impl!( $name, SetOnly , $level, $flag, u8 , SetU8 ) ;
151
+ ( $( # [ $attr : meta ] ) * $ name: ident, SetOnly , $level: expr, $flag: path, u8 ) => {
152
+ sockopt_impl!( $( # [ $attr ] ) * $ name, SetOnly , $level, $flag, u8 , SetU8 ) ;
149
153
} ;
150
154
151
- ( $name: ident, SetOnly , $level: expr, $flag: path, usize ) => {
152
- sockopt_impl!( $name, SetOnly , $level, $flag, usize , SetUsize ) ;
155
+ ( $( #[ $attr: meta] ) * $name: ident, SetOnly , $level: expr, $flag: path, usize ) =>
156
+ {
157
+ sockopt_impl!( $( #[ $attr] ) *
158
+ $name, SetOnly , $level, $flag, usize , SetUsize ) ;
153
159
} ;
154
160
155
- ( $name: ident, Both , $level: expr, $flag: path, bool ) => {
156
- sockopt_impl!( $name, Both , $level, $flag, bool , GetBool , SetBool ) ;
161
+ ( $( #[ $attr: meta] ) * $name: ident, Both , $level: expr, $flag: path, bool ) => {
162
+ sockopt_impl!( $( #[ $attr] ) *
163
+ $name, Both , $level, $flag, bool , GetBool , SetBool ) ;
157
164
} ;
158
165
159
- ( $name: ident, Both , $level: expr, $flag: path, u8 ) => {
160
- sockopt_impl!( $name, Both , $level, $flag, u8 , GetU8 , SetU8 ) ;
166
+ ( $( #[ $attr: meta] ) * $name: ident, Both , $level: expr, $flag: path, u8 ) => {
167
+ sockopt_impl!( $( #[ $attr] ) *
168
+ $name, Both , $level, $flag, u8 , GetU8 , SetU8 ) ;
161
169
} ;
162
170
163
- ( $name: ident, Both , $level: expr, $flag: path, usize ) => {
164
- sockopt_impl!( $name, Both , $level, $flag, usize , GetUsize , SetUsize ) ;
171
+ ( $( #[ $attr: meta] ) * $name: ident, Both , $level: expr, $flag: path, usize ) => {
172
+ sockopt_impl!( $( #[ $attr] ) *
173
+ $name, Both , $level, $flag, usize , GetUsize , SetUsize ) ;
165
174
} ;
166
175
167
- ( $name: ident, Both , $level: expr, $flag: path, OsString <$array: ty>) => {
168
- sockopt_impl!( $name, Both , $level, $flag, OsString , GetOsString <$array>, SetOsString ) ;
176
+ ( $( #[ $attr: meta] ) * $name: ident, Both , $level: expr, $flag: path,
177
+ OsString <$array: ty>) =>
178
+ {
179
+ sockopt_impl!( $( #[ $attr] ) *
180
+ $name, Both , $level, $flag, OsString , GetOsString <$array>,
181
+ SetOsString ) ;
169
182
} ;
170
183
171
184
/*
172
185
* Matchers with generic getter types must be placed at the end, so
173
186
* they'll only match _after_ specialized matchers fail
174
187
*/
175
- ( $name: ident, GetOnly , $level: expr, $flag: path, $ty: ty) => {
176
- sockopt_impl!( $name, GetOnly , $level, $flag, $ty, GetStruct <$ty>) ;
188
+ ( $( #[ $attr: meta] ) * $name: ident, GetOnly , $level: expr, $flag: path, $ty: ty) =>
189
+ {
190
+ sockopt_impl!( $( #[ $attr] ) *
191
+ $name, GetOnly , $level, $flag, $ty, GetStruct <$ty>) ;
177
192
} ;
178
193
179
- ( $name: ident, GetOnly , $level: expr, $flag: path, $ty: ty, $getter: ty) => {
194
+ ( $( #[ $attr: meta] ) * $name: ident, GetOnly , $level: expr, $flag: path, $ty: ty,
195
+ $getter: ty) =>
196
+ {
197
+ $( #[ $attr] ) *
180
198
#[ derive( Clone , Copy , Debug , Eq , Hash , PartialEq ) ]
181
199
pub struct $name;
182
200
183
201
getsockopt_impl!( $name, $level, $flag, $ty, $getter) ;
184
202
} ;
185
203
186
- ( $name: ident, SetOnly , $level: expr, $flag: path, $ty: ty) => {
187
- sockopt_impl!( $name, SetOnly , $level, $flag, $ty, SetStruct <$ty>) ;
204
+ ( $( #[ $attr: meta] ) * $name: ident, SetOnly , $level: expr, $flag: path, $ty: ty) =>
205
+ {
206
+ sockopt_impl!( $( #[ $attr] ) *
207
+ $name, SetOnly , $level, $flag, $ty, SetStruct <$ty>) ;
188
208
} ;
189
209
190
- ( $name: ident, SetOnly , $level: expr, $flag: path, $ty: ty, $setter: ty) => {
210
+ ( $( #[ $attr: meta] ) * $name: ident, SetOnly , $level: expr, $flag: path, $ty: ty,
211
+ $setter: ty) =>
212
+ {
213
+ $( #[ $attr] ) *
191
214
#[ derive( Clone , Copy , Debug , Eq , Hash , PartialEq ) ]
192
215
pub struct $name;
193
216
194
217
setsockopt_impl!( $name, $level, $flag, $ty, $setter) ;
195
218
} ;
196
219
197
- ( $name: ident, Both , $level: expr, $flag: path, $ty: ty, $getter: ty, $setter: ty) => {
220
+ ( $( #[ $attr: meta] ) * $name: ident, Both , $level: expr, $flag: path, $ty: ty,
221
+ $getter: ty, $setter: ty) =>
222
+ {
223
+ $( #[ $attr] ) *
198
224
#[ derive( Clone , Copy , Debug , Eq , Hash , PartialEq ) ]
199
225
pub struct $name;
200
226
201
227
setsockopt_impl!( $name, $level, $flag, $ty, $setter) ;
202
228
getsockopt_impl!( $name, $level, $flag, $ty, $getter) ;
203
229
} ;
204
230
205
- ( $name: ident, Both , $level: expr, $flag: path, $ty: ty) => {
206
- sockopt_impl!( $name, Both , $level, $flag, $ty, GetStruct <$ty>, SetStruct <$ty>) ;
231
+ ( $( #[ $attr: meta] ) * $name: ident, Both , $level: expr, $flag: path, $ty: ty) => {
232
+ sockopt_impl!( $( #[ $attr] ) *
233
+ $name, Both , $level, $flag, $ty, GetStruct <$ty>,
234
+ SetStruct <$ty>) ;
207
235
} ;
208
236
}
209
237
0 commit comments