title: Passing a class object with trivial copy constructor, but no output?
body: <p>I tried this program with GCC and Clang, but both output nothing</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  struct A {
    A(){}
  
    template&lt;typename T&gt;
    A(T &amp;) {
      std::cout &lt;&lt; "copied!";
    }
  };
  
  void f(...) { }
  
  int main() {
    A a;
    f(a);
  }
  </code></pre>
  
  <p>According to my Standards reading, this program should output <code>"copied!"</code>. Can anyone tell me whether I am mistaken or whether this is a bug in those two compilers?</p>