Preserve visibility token's span on struct field
diff --git a/macro/src/expand.rs b/macro/src/expand.rs
index c063cf3..1944642 100644
--- a/macro/src/expand.rs
+++ b/macro/src/expand.rs
@@ -157,7 +157,7 @@
     let fields = strct.fields.iter().map(|field| {
         // This span on the pub makes "private type in public interface" errors
         // appear in the right place.
-        let vis = Token![pub](field.ident.span());
+        let vis = field.visibility;
         quote!(#vis #field)
     });
     let mut derives = None;