title: Is there a technical reason for not allowing a using declaration to make a function name accessible under a different name?
body: <p>Consider</p>
  
  <pre><code>namespace foo
  {
    namespace bar
    {
      void f();
      void f(int);
    }
  }
  </code></pre>
  
  <p>In <code>foo</code> one can make all <code>foo::bar::f</code> accessible as <code>foo::f</code> via</p>
  
  <pre><code>using bar::f; // in foo
  </code></pre>
  
  <p>Is there any technical reason for the nonexistence of a syntax that makes all <code>foo::bar::f</code> accessible as <code>foo::g</code> like</p>
  
  <pre><code>using bar::f as g; 
  // or in line with using declarations for types:
  using g = bar::f;
  </code></pre>
  
  <p>or has something like this even been considered but rejected? (Why?)</p>