title: Double-templated function instantiation fails
body: <p>The following code:</p>
  
  <pre><code>template&lt;typename T, MyEnum K&gt; __global__ void myKernel(const T a[]);
  template&lt;typename T&gt; __global__ void myKernel&lt;T,SomeValueOfMyEnum&gt;(const T a[]) {
      // implementation
  }
  </code></pre>
  
  <p>Triggers the following error message:</p>
  
  <blockquote>
    <p>error: an explicit template argument list is not allowed on this declaration</p>
  </blockquote>
  
  <p>Why? </p>
  
  <p>Notes:</p>
  
  <ul>
  <li>I'm pretty sure this isn't CUDA-related, just a C++ issue.</li>
  <li>There are a bunch of questions on partial specialization, but I can't figure out if mine is a dupe of any of them.</li>
  </ul>