title: How to make a public struct where all fields are public without repeating `pub` for every field?
body: <p>How can I define a public struct in Rust where all the fields are public without having to repeat <code>pub</code> modifier in front of every field?</p>
  
  <p>A <code>pub_struct</code> macro would be ideal:</p>
  
  <pre><code>pub_struct! Foo {
      a: i32,
      b: f64,
      // ...
  }
  </code></pre>
  
  <p>which would be equivalent to:</p>
  
  <pre><code>pub struct Foo {
      pub a: i32,
      pub b: f64,
      //...
  }
  </code></pre>