title: Is there a way to print enum values?
body: <p>Is there an easy way to format and print enum values? I expected that they'd have a default implementation of <code>std::fmt::Display</code>, but that doesn't appear to be the case. </p>
  
  <pre><code>enum Suit {
      Heart,
      Diamond,
      Spade,
      Club
  }
  
  fn main() {
      let s: Suit = Suit::Heart;
      println!("{}", s);
  }
  </code></pre>
  
  <p>Desired output: <code>Heart</code></p>
  
  <p>Error:</p>
  
  <pre class="lang-none prettyprint-override"><code>error[E0277]: the trait bound `Suit: std::fmt::Display` is not satisfied
    --&gt; src/main.rs:10:20
     |
  10 |     println!("{}", s);
     |                    ^ the trait `std::fmt::Display` is not implemented for `Suit`
     |
     = note: `Suit` cannot be formatted with the default formatter; try using `:?` instead if you are using a format string
     = note: required by `std::fmt::Display::fmt`
  </code></pre>