title: How to implement a custom 'fmt::Debug' trait?
body: <p>I presume you do something like this:</p>
  
  <pre><code>extern crate uuid;
  
  use uuid::Uuid;
  use std::fmt::Formatter;
  use std::fmt::Debug;
  
  #[derive(Debug)]
  struct BlahLF {
      id: Uuid,
  }
  
  impl BlahLF {
      fn new() -&gt; BlahLF {
          return BlahLF { id: Uuid::new_v4() };
      }
  }
  
  impl Debug for BlahLF {
      fn fmt(&amp;self, &amp;mut f: Formatter) -&gt; Result {
          write!(f.buf, "Hi: {}", self.id);
      }
  }
  </code></pre>
  
  <p>...but attempting to implement this trait generates:</p>
  
  <pre class="lang-none prettyprint-override"><code>error[E0243]: wrong number of type arguments
    --&gt; src/main.rs:19:41
     |
  19 |     fn fmt(&amp;self, &amp;mut f: Formatter) -&gt; Result {
     |                                         ^^^^^^ expected 2 type arguments, found 0
  </code></pre>
  
  <p>However, that seems to be how other implementations do it. What am I doing wrong?</p>