title: In using-declaration, can dependent names render to constructors after template substitution?
body: <p>In this example:</p>
  
  <pre><code>template&lt;class T&gt;
  struct S : T
  {
      using T::X;
  };
  </code></pre>
  
  <p><code>T::X</code> is a dependent name that refers to the member <code>X</code> in <code>T</code>.
  If <code>S&lt;T&gt;</code> is instantiated with <code>T = X</code>:</p>
  
  <pre><code>struct X
  {
      X(int) {}
  };
  ...
  S&lt;X&gt; s(42);
  </code></pre>
  
  <p>Will the using-declaration become inheriting-constructor?</p>
  
  <p>Clang rejects the code <a href="https://wandbox.org/permlink/AuGIOpxBwKuLjxWb" rel="noreferrer"><kbd>DEMO</kbd></a>, while g++ accepts it.</p>
  
  <p>Note that if we write:</p>
  
  <pre><code>using T::X::X;
  </code></pre>
  
  <p>Both compilers accept the code and treat it as inheriting-constructor.
  Is <code>using T::X</code> allowed to become inheriting-constructor by standard?</p>