title: Why is std::generate accessible without namespace qualifier?
body: <p>Is it normal that this compiles fine?</p>
  
  <pre><code>#include &lt;vector&gt;
  #include &lt;algorithm&gt;
  
  int main()
  {
      std::vector&lt;int&gt; buf;
      generate(buf.begin(), buf.end(), []{ return 0; });
  }
  </code></pre>
  
  <p>(Note the missing <code>std::</code> in front of <code>generate()</code>)</p>
  
  <p>Is this behavior documented somewhere? Or did I stumble across a compiler or library bug? Which in my case would be GCC 5.3.0 and Clang 3.8.0 on Linux; both use libstdc++, so maybe library bug?</p>