title: Recursive map works, but recursive unordered_map doesn't
body: <p>I was wondering, why does this code compile just fine with g++,</p>
  <pre class="lang-cpp prettyprint-override"><code>struct FileSystemMap {
      std::map&lt;std::string, FileSystemMap&gt; directories;
      std::map&lt;std::string, std::string&gt; files;
  };
  </code></pre>
  <p>while this other doesn't?</p>
  <pre class="lang-cpp prettyprint-override"><code>struct FileSystemMap {
      std::unordered_map&lt;std::string, FileSystemMap&gt; directories;
      std::unordered_map&lt;std::string, std::string&gt; files;
  };
  </code></pre>