summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--bit_field/bit_field_derive/bit_field_derive.rs132
-rw-r--r--msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs230
2 files changed, 198 insertions, 164 deletions
diff --git a/bit_field/bit_field_derive/bit_field_derive.rs b/bit_field/bit_field_derive/bit_field_derive.rs
index adb889d..3ddf037 100644
--- a/bit_field/bit_field_derive/bit_field_derive.rs
+++ b/bit_field/bit_field_derive/bit_field_derive.rs
@@ -75,7 +75,7 @@ fn bitfield_impl(ast: DeriveInput) -> TokenStream {
     let fields_impl = get_fields_impl(fields.as_slice());
     let tests_impl = get_tests_impl(&name, fields.as_slice());
     let debug_fmt_impl = get_debug_fmt_impl(&name, fields.as_slice());
-    quote!(
+    quote! {
         #(#attrs)*
         #struct_def
         #bits_impl
@@ -89,7 +89,7 @@ fn bitfield_impl(ast: DeriveInput) -> TokenStream {
             use super::*;
             #(#tests_impl)*
         }
-        )
+    }
 }
 
 // Generate struct name from schema_name. "MyTypeSchema" -> "MyType".
@@ -168,19 +168,21 @@ fn get_struct_def(
 
     // It will be something like:
     // "(BitField1::FIELD_WIDTH + BitField3::FIELD_WIDTH + BitField4::FIELD_WIDTH) / 8)"
-    let data_size_in_bytes = quote!(
-            ( #( #field_types::FIELD_WIDTH as usize )+* ) / 8
-        );
-    quote! (
+    let data_size_in_bytes = quote! {
+        ( #( #field_types::FIELD_WIDTH as usize )+* ) / 8
+    };
+    quote! {
         #vis struct #name {
             data: [u8; #data_size_in_bytes],
         }
         impl #name {
             pub fn new() -> #name {
-                #name { data: [0; #data_size_in_bytes], }
+                #name {
+                    data: [0; #data_size_in_bytes],
+                }
             }
         }
-    )
+    }
 }
 
 // Implement setter and getter for all fields.
@@ -195,19 +197,19 @@ fn get_fields_impl(fields: &[(String, TokenStream)]) -> Vec<TokenStream> {
         let ct1 = current_types.clone();
         let getter_ident = Ident::new(format!("get_{}", name).as_str(), Span::call_site());
         let setter_ident = Ident::new(format!("set_{}", name).as_str(), Span::call_site());
-        impls.push(quote!(
-                pub fn #getter_ident(&self) -> <#ty as BitFieldSpecifier>::DefaultFieldType {
-                    let offset = #(#ct0::FIELD_WIDTH as usize)+*;
-                    return self.get(offset, #ty::FIELD_WIDTH) as
-                        <#ty as BitFieldSpecifier>::DefaultFieldType;
-                }
+        impls.push(quote! {
+            pub fn #getter_ident(&self) -> <#ty as BitFieldSpecifier>::DefaultFieldType {
+                let offset = #(#ct0::FIELD_WIDTH as usize)+*;
+                self.get(offset, #ty::FIELD_WIDTH) as
+                    <#ty as BitFieldSpecifier>::DefaultFieldType
+            }
 
-                pub fn #setter_ident(&mut self, val: <#ty as BitFieldSpecifier>::DefaultFieldType) {
-                    debug_assert!((val as u64) <= #ty::FIELD_MAX);
-                    let offset = #(#ct1::FIELD_WIDTH as usize)+*;
-                    return self.set(offset, #ty::FIELD_WIDTH, val as u64);
-                }
-                ));
+            pub fn #setter_ident(&mut self, val: <#ty as BitFieldSpecifier>::DefaultFieldType) {
+                debug_assert!((val as u64) <= #ty::FIELD_MAX);
+                let offset = #(#ct1::FIELD_WIDTH as usize)+*;
+                self.set(offset, #ty::FIELD_WIDTH, val as u64)
+            }
+        });
         current_types.push(ty.clone());
     }
     impls
@@ -219,13 +221,13 @@ fn get_debug_fmt_impl(name: &TokenStream, fields: &[(String, TokenStream)]) -> T
     let mut impls = Vec::new();
     for &(ref name, ref _ty) in fields {
         let getter_ident = Ident::new(format!("get_{}", name).as_str(), Span::call_site());
-        impls.push(quote!(
-                .field(#name, &self.#getter_ident())
-                ));
+        impls.push(quote! {
+            .field(#name, &self.#getter_ident())
+        });
     }
 
     let name_str = format!("{}", name);
-    quote! (
+    quote! {
         impl std::fmt::Debug for #name {
             fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
                 f.debug_struct(#name_str)
@@ -233,7 +235,7 @@ fn get_debug_fmt_impl(name: &TokenStream, fields: &[(String, TokenStream)]) -> T
                     .finish()
             }
         }
-        )
+    }
 }
 
 // Implement test.
@@ -244,27 +246,30 @@ fn get_tests_impl(struct_name: &TokenStream, fields: &[(String, TokenStream)]) -
     }
     let field_types2 = field_types.clone();
     let mut impls = Vec::new();
-    impls.push(quote!(
-                #[test]
-                fn test_total_size() {
-                    let total_size = #(#field_types::FIELD_WIDTH as usize)+*;
-                    assert_eq!(total_size % 8, 0);
-                }));
-    impls.push(quote!(#[test]
-    fn test_bits_boundary() {
-        let fields_sizes = vec![#(#field_types2::FIELD_WIDTH as usize),*];
-        let mut sum = 0usize;
-        for s in fields_sizes {
-            if sum % 64 == 0 {
-                assert!(s <= 64);
-            } else {
-                if (sum + s) % 64 != 0 {
-                    assert_eq!(sum / 64, (sum + s) / 64);
+    impls.push(quote! {
+        #[test]
+        fn test_total_size() {
+            let total_size = #(#field_types::FIELD_WIDTH as usize)+*;
+            assert_eq!(total_size % 8, 0);
+        }
+    });
+    impls.push(quote! {
+        #[test]
+        fn test_bits_boundary() {
+            let fields_sizes = vec![#(#field_types2::FIELD_WIDTH as usize),*];
+            let mut sum = 0usize;
+            for s in fields_sizes {
+                if sum % 64 == 0 {
+                    assert!(s <= 64);
+                } else {
+                    if (sum + s) % 64 != 0 {
+                        assert_eq!(sum / 64, (sum + s) / 64);
+                    }
                 }
+                sum += s;
             }
-            sum += s;
         }
-    }));
+    });
 
     for &(ref name, ref ty) in fields {
         let testname = Ident::new(
@@ -273,21 +278,21 @@ fn get_tests_impl(struct_name: &TokenStream, fields: &[(String, TokenStream)]) -
         );
         let getter_ident = Ident::new(format!("get_{}", name.as_str()).as_str(), Span::call_site());
         let setter_ident = Ident::new(format!("set_{}", name.as_str()).as_str(), Span::call_site());
-        impls.push(quote!(
-                #[test]
-                fn #testname() {
-                    let mut a = #struct_name::new();
-                    assert_eq!(a.#getter_ident() as u64, 0);
-                    a.#setter_ident(#ty::FIELD_MAX as <#ty as BitFieldSpecifier>::DefaultFieldType);
-                    assert_eq!(a.#getter_ident() as u64, #ty::FIELD_MAX);
-                }
-                ));
+        impls.push(quote! {
+            #[test]
+            fn #testname() {
+                let mut a = #struct_name::new();
+                assert_eq!(a.#getter_ident() as u64, 0);
+                a.#setter_ident(#ty::FIELD_MAX as <#ty as BitFieldSpecifier>::DefaultFieldType);
+                assert_eq!(a.#getter_ident() as u64, #ty::FIELD_MAX);
+            }
+        });
     }
     impls
 }
 
 fn get_bits_impl(name: &TokenStream) -> TokenStream {
-    quote!(
+    quote! {
         impl #name {
             #[inline]
             fn check_access(&self, offset: usize, width: u8) {
@@ -296,7 +301,6 @@ fn get_bits_impl(name: &TokenStream) -> TokenStream {
                 debug_assert!((offset + (width as usize)) <= (self.data.len() * 8));
             }
 
-
             #[inline]
             pub fn get_bit(&self, offset: usize) -> bool {
                 self.check_access(offset, 1);
@@ -352,7 +356,7 @@ fn get_bits_impl(name: &TokenStream) -> TokenStream {
                 }
             }
         }
-        )
+    }
 }
 
 #[cfg(test)]
@@ -449,37 +453,37 @@ mod tests {
             impl MyBitField {
                 pub fn get_a(&self) -> <BitField1 as BitFieldSpecifier>::DefaultFieldType {
                     let offset = BitField0::FIELD_WIDTH as usize;
-                    return self.get(offset, BitField1::FIELD_WIDTH)
-                        as <BitField1 as BitFieldSpecifier>::DefaultFieldType;
+                    self.get(offset, BitField1::FIELD_WIDTH)
+                        as <BitField1 as BitFieldSpecifier>::DefaultFieldType
                 }
                 pub fn set_a(&mut self, val: <BitField1 as BitFieldSpecifier>::DefaultFieldType) {
                     debug_assert!((val as u64) <= BitField1::FIELD_MAX);
                     let offset = BitField0::FIELD_WIDTH as usize;
-                    return self.set(offset, BitField1::FIELD_WIDTH, val as u64);
+                    self.set(offset, BitField1::FIELD_WIDTH, val as u64)
                 }
                 pub fn get_b(&self) -> <BitField2 as BitFieldSpecifier>::DefaultFieldType {
                     let offset = BitField0::FIELD_WIDTH as usize + BitField1::FIELD_WIDTH as usize;
-                    return self.get(offset, BitField2::FIELD_WIDTH)
-                        as <BitField2 as BitFieldSpecifier>::DefaultFieldType;
+                    self.get(offset, BitField2::FIELD_WIDTH)
+                        as <BitField2 as BitFieldSpecifier>::DefaultFieldType
                 }
                 pub fn set_b(&mut self, val: <BitField2 as BitFieldSpecifier>::DefaultFieldType) {
                     debug_assert!((val as u64) <= BitField2::FIELD_MAX);
                     let offset = BitField0::FIELD_WIDTH as usize + BitField1::FIELD_WIDTH as usize;
-                    return self.set(offset, BitField2::FIELD_WIDTH, val as u64);
+                    self.set(offset, BitField2::FIELD_WIDTH, val as u64)
                 }
                 pub fn get_c(&self) -> <BitField5 as BitFieldSpecifier>::DefaultFieldType {
                     let offset = BitField0::FIELD_WIDTH as usize
                         + BitField1::FIELD_WIDTH as usize
                         + BitField2::FIELD_WIDTH as usize;
-                    return self.get(offset, BitField5::FIELD_WIDTH)
-                        as <BitField5 as BitFieldSpecifier>::DefaultFieldType;
+                    self.get(offset, BitField5::FIELD_WIDTH)
+                        as <BitField5 as BitFieldSpecifier>::DefaultFieldType
                 }
                 pub fn set_c(&mut self, val: <BitField5 as BitFieldSpecifier>::DefaultFieldType) {
                     debug_assert!((val as u64) <= BitField5::FIELD_MAX);
                     let offset = BitField0::FIELD_WIDTH as usize
                         + BitField1::FIELD_WIDTH as usize
                         + BitField2::FIELD_WIDTH as usize;
-                    return self.set(offset, BitField5::FIELD_WIDTH, val as u64);
+                    self.set(offset, BitField5::FIELD_WIDTH, val as u64)
                 }
             }
 
diff --git a/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs b/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs
index 37a15f5..785cc84 100644
--- a/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs
+++ b/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs
@@ -75,13 +75,13 @@ fn impl_for_named_struct(name: Ident, ds: DataStruct) -> TokenStream {
 
     let read_buffer = define_read_buffer_for_struct(&name, &fields);
     let write_buffer = define_write_buffer_for_struct(&name, &fields);
-    quote!(
+    quote! {
         impl _msg_socket::MsgOnSocket for #name {
             #buffer_sizes_impls
             #read_buffer
             #write_buffer
         }
-        )
+    }
 }
 
 fn get_types_from_fields_vec(v: &[(Ident, syn::Type)]) -> Vec<syn::Type> {
@@ -132,11 +132,13 @@ fn define_read_buffer_for_struct(_name: &Ident, fields: &[(Ident, syn::Type)]) -
         let read_field = read_from_buffer_and_move_offset(&f.0, &f.1);
         read_fields.push(read_field);
         let name = f.0.clone();
-        init_fields.push(quote!( #name ));
+        init_fields.push(quote!(#name));
     }
-    quote!{
-        unsafe fn read_from_buffer(buffer: &[u8], fds: &[std::os::unix::io::RawFd])
-            -> _msg_socket::MsgResult<(Self, usize)> {
+    quote! {
+        unsafe fn read_from_buffer(
+            buffer: &[u8],
+            fds: &[std::os::unix::io::RawFd],
+        ) -> _msg_socket::MsgResult<(Self, usize)> {
             let mut __offset = 0usize;
             let mut __fd_offset = 0usize;
             #(#read_fields)*
@@ -156,9 +158,12 @@ fn define_write_buffer_for_struct(_name: &Ident, fields: &[(Ident, syn::Type)])
         let write_field = write_to_buffer_and_move_offset(&f.0, &f.1);
         write_fields.push(write_field);
     }
-    quote!{
-        fn write_to_buffer(&self, buffer: &mut [u8], fds: &mut [std::os::unix::io::RawFd])
-            -> _msg_socket::MsgResult<usize> {
+    quote! {
+        fn write_to_buffer(
+            &self,
+            buffer: &mut [u8],
+            fds: &mut [std::os::unix::io::RawFd],
+        ) -> _msg_socket::MsgResult<usize> {
             let mut __offset = 0usize;
             let mut __fd_offset = 0usize;
             #(#write_fields)*
@@ -174,13 +179,13 @@ fn impl_for_enum(name: Ident, de: DataEnum) -> TokenStream {
 
     let read_buffer = define_read_buffer_for_enum(&name, &de);
     let write_buffer = define_write_buffer_for_enum(&name, &de);
-    quote!(
+    quote! {
         impl _msg_socket::MsgOnSocket for #name {
             #buffer_sizes_impls
             #read_buffer
             #write_buffer
         }
-        )
+    }
 }
 
 fn define_buffer_size_for_enum(variants: &[(Ident, Vec<syn::Type>)]) -> TokenStream {
@@ -249,14 +254,14 @@ fn define_read_buffer_for_enum(name: &Ident, de: &DataEnum) -> TokenStream {
                     let read_tmp = read_from_buffer_and_move_offset(&f.ident.unwrap(), &f.ty);
                     read_tmps.push(read_tmp);
                 }
-                let v = quote!(
+                let v = quote! {
                     #i => {
                         let mut __offset = 1usize;
                         let mut __fd_offset = 0usize;
                         #(#read_tmps)*
-                        Ok((#name::#variant_name{ #(#tmp_names),*}, __fd_offset))
+                        Ok((#name::#variant_name { #(#tmp_names),* }, __fd_offset))
                     }
-                    );
+                };
                 match_variants.push(v);
             }
             Fields::Unnamed(fields) => {
@@ -272,37 +277,37 @@ fn define_read_buffer_for_enum(name: &Ident, de: &DataEnum) -> TokenStream {
                     j += 1;
                 }
 
-                let v = quote!(
+                let v = quote! {
                     #i => {
                         let mut __offset = 1usize;
                         let mut __fd_offset = 0usize;
                         #(#read_tmps)*
                         Ok((#name::#variant_name( #(#tmp_names),*), __fd_offset))
                     }
-                    );
+                };
                 match_variants.push(v);
             }
             Fields::Unit => {
-                let v = quote!(
+                let v = quote! {
                     #i => Ok((#name::#variant_name, 0)),
-                    );
+                };
                 match_variants.push(v);
             }
         }
         i += 1;
     }
-    quote!(
-        unsafe fn read_from_buffer(buffer: &[u8], fds: &[std::os::unix::io::RawFd])
-        -> _msg_socket::MsgResult<(Self, usize)> {
+    quote! {
+        unsafe fn read_from_buffer(
+            buffer: &[u8],
+            fds: &[std::os::unix::io::RawFd],
+        ) -> _msg_socket::MsgResult<(Self, usize)> {
             let v = buffer[0];
             match v {
                 #(#match_variants)*
-                _ => {
-                    Err(_msg_socket::MsgError::InvalidType)
-                }
+                _ => Err(_msg_socket::MsgError::InvalidType),
             }
         }
-        )
+    }
 }
 
 fn define_write_buffer_for_enum(name: &Ident, de: &DataEnum) -> TokenStream {
@@ -321,15 +326,15 @@ fn define_write_buffer_for_enum(name: &Ident, de: &DataEnum) -> TokenStream {
                     write_tmps.push(write_tmp);
                 }
 
-                let v = quote!(
-                    #name::#variant_name{#(#tmp_names),*} => {
+                let v = quote! {
+                    #name::#variant_name { #(#tmp_names),* } => {
                         buffer[0] = #i;
                         let mut __offset = 1usize;
                         let mut __fd_offset = 0usize;
                         #(#write_tmps)*
                         Ok(__fd_offset)
                     }
-                    );
+                };
                 match_variants.push(v);
             }
             Fields::Unnamed(fields) => {
@@ -345,7 +350,7 @@ fn define_write_buffer_for_enum(name: &Ident, de: &DataEnum) -> TokenStream {
                     j += 1;
                 }
 
-                let v = quote!(
+                let v = quote! {
                     #name::#variant_name(#(#tmp_names),*) => {
                         buffer[0] = #i;
                         let mut __offset = 1usize;
@@ -353,34 +358,37 @@ fn define_write_buffer_for_enum(name: &Ident, de: &DataEnum) -> TokenStream {
                         #(#write_tmps)*
                         Ok(__fd_offset)
                     }
-                    );
+                };
                 match_variants.push(v);
             }
             Fields::Unit => {
-                let v = quote!(
+                let v = quote! {
                     #name::#variant_name => {
                         buffer[0] = #i;
                         Ok(0)
                     }
-                    );
+                };
                 match_variants.push(v);
             }
         }
         i += 1;
     }
 
-    quote!(
-        fn write_to_buffer(&self, buffer: &mut [u8], fds: &mut [std::os::unix::io::RawFd])
-        -> _msg_socket::MsgResult<usize> {
+    quote! {
+        fn write_to_buffer(
+            &self,
+            buffer: &mut [u8],
+            fds: &mut [std::os::unix::io::RawFd],
+        ) -> _msg_socket::MsgResult<usize> {
             match self {
                 #(#match_variants)*
             }
         }
-    )
+    }
 }
 
 fn enum_write_to_buffer_and_move_offset(name: &Ident, ty: &syn::Type) -> TokenStream {
-    quote!{
+    quote! {
         let o = #name.write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
         __offset += <#ty>::msg_size();
         __fd_offset += o;
@@ -395,13 +403,13 @@ fn impl_for_tuple_struct(name: Ident, ds: DataStruct) -> TokenStream {
 
     let read_buffer = define_read_buffer_for_tuples(&name, &types);
     let write_buffer = define_write_buffer_for_tuples(&name, &types);
-    quote!(
+    quote! {
         impl _msg_socket::MsgOnSocket for #name {
             #buffer_sizes_impls
             #read_buffer
             #write_buffer
         }
-        )
+    }
 }
 
 fn get_tuple_types(ds: DataStruct) -> Vec<syn::Type> {
@@ -427,12 +435,14 @@ fn define_read_buffer_for_tuples(name: &Ident, fields: &[syn::Type]) -> TokenStr
         let tmp_name = Ident::new(&tmp_name, Span::call_site());
         let read_field = read_from_buffer_and_move_offset(&tmp_name, &fields[i]);
         read_fields.push(read_field);
-        init_fields.push(quote!( #tmp_name ));
+        init_fields.push(quote!(#tmp_name));
     }
 
-    quote!{
-        unsafe fn read_from_buffer(buffer: &[u8], fds: &[std::os::unix::io::RawFd])
-            -> _msg_socket::MsgResult<(Self, usize)> {
+    quote! {
+        unsafe fn read_from_buffer(
+            buffer: &[u8],
+            fds: &[std::os::unix::io::RawFd],
+        ) -> _msg_socket::MsgResult<(Self, usize)> {
             let mut __offset = 0usize;
             let mut __fd_offset = 0usize;
             #(#read_fields)*
@@ -456,9 +466,12 @@ fn define_write_buffer_for_tuples(name: &Ident, fields: &[syn::Type]) -> TokenSt
         write_fields.push(write_field);
         tmp_names.push(tmp_name);
     }
-    quote!{
-        fn write_to_buffer(&self, buffer: &mut [u8], fds: &mut [std::os::unix::io::RawFd])
-            -> _msg_socket::MsgResult<usize> {
+    quote! {
+        fn write_to_buffer(
+            &self,
+            buffer: &mut [u8],
+            fds: &mut [std::os::unix::io::RawFd],
+        ) -> _msg_socket::MsgResult<usize> {
             let mut __offset = 0usize;
             let mut __fd_offset = 0usize;
             let #name( #(#tmp_names),* ) = self;
@@ -471,12 +484,12 @@ fn define_write_buffer_for_tuples(name: &Ident, fields: &[syn::Type]) -> TokenSt
 fn get_fields_buffer_size_sum(field_types: &[syn::Type]) -> (TokenStream, TokenStream) {
     if field_types.len() > 0 {
         (
-            quote!(
+            quote! {
                 #( <#field_types>::msg_size() as usize )+*
-              ),
-            quote!(
+            },
+            quote! {
                 #( <#field_types>::max_fd_count() as usize )+*
-            ),
+            },
         )
     } else {
         (quote!(0), quote!(0))
@@ -484,7 +497,7 @@ fn get_fields_buffer_size_sum(field_types: &[syn::Type]) -> (TokenStream, TokenS
 }
 
 fn read_from_buffer_and_move_offset(name: &Ident, ty: &syn::Type) -> TokenStream {
-    quote!{
+    quote! {
         let t = <#ty>::read_from_buffer(&buffer[__offset..], &fds[__fd_offset..])?;
         __offset += <#ty>::msg_size();
         __fd_offset += t.1;
@@ -493,7 +506,7 @@ fn read_from_buffer_and_move_offset(name: &Ident, ty: &syn::Type) -> TokenStream
 }
 
 fn write_to_buffer_and_move_offset(name: &Ident, ty: &syn::Type) -> TokenStream {
-    quote!{
+    quote! {
         let o = self.#name.write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
         __offset += <#ty>::msg_size();
         __fd_offset += o;
@@ -518,17 +531,19 @@ mod tests {
         let expected = quote! {
             impl _msg_socket::MsgOnSocket for MyMsg {
                 fn msg_size() -> usize {
-                        <u8>::msg_size() as usize
+                    <u8>::msg_size() as usize
                         + <RawFd>::msg_size() as usize
                         + <u32>::msg_size() as usize
                 }
                 fn max_fd_count() -> usize {
-                        <u8>::max_fd_count() as usize
+                    <u8>::max_fd_count() as usize
                         + <RawFd>::max_fd_count() as usize
                         + <u32>::max_fd_count() as usize
                 }
-                unsafe fn read_from_buffer(buffer: &[u8], fds: &[std::os::unix::io::RawFd])
-                    -> _msg_socket::MsgResult<(Self, usize)> {
+                unsafe fn read_from_buffer(
+                    buffer: &[u8],
+                    fds: &[std::os::unix::io::RawFd],
+                ) -> _msg_socket::MsgResult<(Self, usize)> {
                     let mut __offset = 0usize;
                     let mut __fd_offset = 0usize;
                     let t = <u8>::read_from_buffer(&buffer[__offset..], &fds[__fd_offset..])?;
@@ -545,20 +560,23 @@ mod tests {
                     let c = t.0;
                     Ok((Self { a, b, c }, __fd_offset))
                 }
-                fn write_to_buffer(&self, buffer: &mut [u8], fds: &mut [std::os::unix::io::RawFd])
-                    -> _msg_socket::MsgResult<usize> {
+                fn write_to_buffer(
+                    &self,
+                    buffer: &mut [u8],
+                    fds: &mut [std::os::unix::io::RawFd],
+                ) -> _msg_socket::MsgResult<usize> {
                     let mut __offset = 0usize;
                     let mut __fd_offset = 0usize;
-                    let o = self.a.write_to_buffer(&mut buffer[__offset..],
-                                                   &mut fds[__fd_offset..])?;
+                    let o = self.a
+                        .write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
                     __offset += <u8>::msg_size();
                     __fd_offset += o;
-                    let o = self.b.write_to_buffer(&mut buffer[__offset..],
-                                                   &mut fds[__fd_offset..])?;
+                    let o = self.b
+                        .write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
                     __offset += <RawFd>::msg_size();
                     __fd_offset += o;
-                    let o = self.c.write_to_buffer(&mut buffer[__offset..],
-                                                   &mut fds[__fd_offset..])?;
+                    let o = self.c
+                        .write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
                     __offset += <u32>::msg_size();
                     __fd_offset += o;
                     Ok(__fd_offset)
@@ -578,16 +596,19 @@ mod tests {
         let expected = quote! {
             impl _msg_socket::MsgOnSocket for MyMsg {
                 fn msg_size() -> usize {
-                    <u8>::msg_size() as usize +
-                        <u32>::msg_size() as usize + <File>::msg_size() as usize
+                    <u8>::msg_size() as usize
+                        + <u32>::msg_size() as usize
+                        + <File>::msg_size() as usize
                 }
                 fn max_fd_count() -> usize {
                     <u8>::max_fd_count() as usize
                         + <u32>::max_fd_count() as usize
                         + <File>::max_fd_count() as usize
                 }
-                unsafe fn read_from_buffer(buffer: &[u8], fds: &[std::os::unix::io::RawFd])
-                    -> _msg_socket::MsgResult<(Self, usize)> {
+                unsafe fn read_from_buffer(
+                    buffer: &[u8],
+                    fds: &[std::os::unix::io::RawFd],
+                ) -> _msg_socket::MsgResult<(Self, usize)> {
                     let mut __offset = 0usize;
                     let mut __fd_offset = 0usize;
                     let t = <u8>::read_from_buffer(&buffer[__offset..], &fds[__fd_offset..])?;
@@ -604,21 +625,24 @@ mod tests {
                     let tuple_tmp2 = t.0;
                     Ok((MyMsg(tuple_tmp0, tuple_tmp1, tuple_tmp2), __fd_offset))
                 }
-                fn write_to_buffer(&self, buffer: &mut [u8], fds: &mut [std::os::unix::io::RawFd])
-                    -> _msg_socket::MsgResult<usize> {
+                fn write_to_buffer(
+                    &self,
+                    buffer: &mut [u8],
+                    fds: &mut [std::os::unix::io::RawFd],
+                ) -> _msg_socket::MsgResult<usize> {
                     let mut __offset = 0usize;
                     let mut __fd_offset = 0usize;
                     let MyMsg(tuple_tmp0, tuple_tmp1, tuple_tmp2) = self;
-                    let o = tuple_tmp0.
-                        write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
+                    let o = tuple_tmp0
+                        .write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
                     __offset += <u8>::msg_size();
                     __fd_offset += o;
-                    let o = tuple_tmp1.
-                        write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
+                    let o = tuple_tmp1
+                        .write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
                     __offset += <u32>::msg_size();
                     __fd_offset += o;
-                    let o = tuple_tmp2.
-                        write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
+                    let o = tuple_tmp2
+                        .write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
                     __offset += <File>::msg_size();
                     __fd_offset += o;
                     Ok(__fd_offset)
@@ -635,7 +659,10 @@ mod tests {
             enum MyMsg {
                 A(u8),
                 B,
-                C{f0: u8, f1: RawFd},
+                C {
+                    f0: u8,
+                    f1: RawFd,
+                },
             }
         };
 
@@ -657,15 +684,17 @@ mod tests {
                     ].iter()
                         .max().unwrap().clone() as usize
                 }
-                unsafe fn read_from_buffer(buffer: &[u8], fds: &[std::os::unix::io::RawFd]) ->
-                    _msg_socket::MsgResult<(Self, usize)> {
+                unsafe fn read_from_buffer(
+                    buffer: &[u8],
+                    fds: &[std::os::unix::io::RawFd],
+                ) -> _msg_socket::MsgResult<(Self, usize)> {
                     let v = buffer[0];
                     match v {
                         0u8 => {
                             let mut __offset = 1usize;
                             let mut __fd_offset = 0usize;
-                            let t = <u8>::read_from_buffer(&buffer[__offset..],
-                                                           &fds[__fd_offset..])?;
+                            let t =
+                                <u8>::read_from_buffer(&buffer[__offset..], &fds[__fd_offset..])?;
                             __offset += <u8>::msg_size();
                             __fd_offset += t.1;
                             let enum_variant_tmp0 = t.0;
@@ -675,34 +704,35 @@ mod tests {
                         2u8 => {
                             let mut __offset = 1usize;
                             let mut __fd_offset = 0usize;
-                            let t = <u8>::read_from_buffer(&buffer[__offset..],
-                                                           &fds[__fd_offset..])?;
+                            let t =
+                                <u8>::read_from_buffer(&buffer[__offset..], &fds[__fd_offset..])?;
                             __offset += <u8>::msg_size();
                             __fd_offset += t.1;
                             let f0 = t.0;
-                            let t = <RawFd>::read_from_buffer(&buffer[__offset..],
-                                                              &fds[__fd_offset..])?;
+                            let t = <RawFd>::read_from_buffer(
+                                &buffer[__offset..],
+                                &fds[__fd_offset..]
+                            )?;
                             __offset += <RawFd>::msg_size();
                             __fd_offset += t.1;
                             let f1 = t.0;
-                            Ok((MyMsg::C{f0, f1}, __fd_offset))
-                        }
-                        _ => {
-                            Err(_msg_socket::MsgError::InvalidType)
+                            Ok((MyMsg::C { f0, f1 }, __fd_offset))
                         }
+                        _ => Err(_msg_socket::MsgError::InvalidType),
                     }
                 }
-                fn write_to_buffer(&self,
-                                   buffer: &mut [u8],
-                                   fds: &mut [std::os::unix::io::RawFd])
-                    -> _msg_socket::MsgResult<usize> {
+                fn write_to_buffer(
+                    &self,
+                    buffer: &mut [u8],
+                    fds: &mut [std::os::unix::io::RawFd],
+                ) -> _msg_socket::MsgResult<usize> {
                     match self {
                         MyMsg::A(enum_variant_tmp0) => {
                             buffer[0] = 0u8;
                             let mut __offset = 1usize;
                             let mut __fd_offset = 0usize;
-                            let o = enum_variant_tmp0.
-                                write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
+                            let o = enum_variant_tmp0
+                                .write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
                             __offset += <u8>::msg_size();
                             __fd_offset += o;
                             Ok(__fd_offset)
@@ -711,16 +741,16 @@ mod tests {
                             buffer[0] = 1u8;
                             Ok(0)
                         }
-                        MyMsg::C{f0, f1} => {
+                        MyMsg::C { f0, f1 } => {
                             buffer[0] = 2u8;
                             let mut __offset = 1usize;
                             let mut __fd_offset = 0usize;
-                            let o = f0.
-                                write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
+                            let o = f0
+                                .write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
                             __offset += <u8>::msg_size();
                             __fd_offset += o;
-                            let o = f1.write_to_buffer(
-                                &mut buffer[__offset..], &mut fds[__fd_offset..])?;
+                            let o = f1
+                                .write_to_buffer(&mut buffer[__offset..], &mut fds[__fd_offset..])?;
                             __offset += <RawFd>::msg_size();
                             __fd_offset += o;
                             Ok(__fd_offset)