title: the impl does not reference any types defined in this crate
body: <p>In one of my structs <code>Struct1</code> there's a field of type <code>time::Tm</code>. Somewhere in the code an instance of the struct gets decoded from a json string to an instance of  <code>Struct1</code>. </p>
  
  <p><code>json::decode(&amp;maybe_struct1)</code></p>
  
  <p>At first I got an error saying that <code>to_json isn't implemented for time::Tm</code>. So I implemented it:</p>
  
  <pre><code>impl json::ToJson for time::Tm {
    fn to_json(&amp;self) -&gt; json::Json {
      let mut d = BTreeMap::new();
      d.insert("tm_sec".to_string(), self.tm_sec.to_json());
      d.insert("tm_min".to_string(), self.tm_min.to_json());
      //..............
  </code></pre>
  
  <p>And now it says </p>
  
  <pre><code>error: the impl does not reference any types defined in this crate; only traits defined in the current crate can be implemented for arbitrary types  [E0117]
  </code></pre>
  
  <p>I gathered that it was a bug before version 1. But it is still? If not how do I fix it? </p>