@@ -128,82 +128,110 @@ macro_rules! getsockopt_impl {
128128/// * `$getter:ty`: `Get` implementation; optional; only for `GetOnly` and `Both`.
129129/// * `$setter:ty`: `Set` implementation; optional; only for `SetOnly` and `Both`.
130130macro_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 ) ;
133134 } ;
134135
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 ) ;
137138 } ;
138139
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 ) ;
141144 } ;
142145
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 ) ;
145149 } ;
146150
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 ) ;
149153 } ;
150154
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 ) ;
153159 } ;
154160
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 ) ;
157164 } ;
158165
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 ) ;
161169 } ;
162170
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 ) ;
165174 } ;
166175
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 ) ;
169182 } ;
170183
171184 /*
172185 * Matchers with generic getter types must be placed at the end, so
173186 * they'll only match _after_ specialized matchers fail
174187 */
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>) ;
177192 } ;
178193
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] ) *
180198 #[ derive( Clone , Copy , Debug , Eq , Hash , PartialEq ) ]
181199 pub struct $name;
182200
183201 getsockopt_impl!( $name, $level, $flag, $ty, $getter) ;
184202 } ;
185203
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>) ;
188208 } ;
189209
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] ) *
191214 #[ derive( Clone , Copy , Debug , Eq , Hash , PartialEq ) ]
192215 pub struct $name;
193216
194217 setsockopt_impl!( $name, $level, $flag, $ty, $setter) ;
195218 } ;
196219
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] ) *
198224 #[ derive( Clone , Copy , Debug , Eq , Hash , PartialEq ) ]
199225 pub struct $name;
200226
201227 setsockopt_impl!( $name, $level, $flag, $ty, $setter) ;
202228 getsockopt_impl!( $name, $level, $flag, $ty, $getter) ;
203229 } ;
204230
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>) ;
207235 } ;
208236}
209237
0 commit comments