title: C++1y/C++14: Variable Template Specialization?
body: <p>According to C++1y/C++14 N3690, does the type of a variable template specialization have to be the same as the type of the primary template?</p>
  
  <pre><code>template&lt;int x&gt;
  char y = f(x);
  
  template&lt;&gt;
  double y&lt;42&gt; = g();
  </code></pre>
  
  <p>And if so, is it possible to leave the primary undefined somehow?</p>
  
  <pre><code>template&lt;int x&gt;
  ???? y = ???; // undefined
  
  template&lt;&gt;
  double y&lt;42&gt; = g();
  </code></pre>
  
  <p>Where is this covered in the draft?</p>
  
  <p>The equivalent functionality for a class template would be:</p>
  
  <pre><code>template&lt;int x&gt;
  struct S
  {
      static char y;
  };
  
  template&lt;&gt;
  struct S&lt;42&gt;
  {
      static double y;
  };
  </code></pre>
  
  <p>and</p>
  
  <pre><code>template&lt;int x&gt;
  struct S; // undefined
  
  template&lt;&gt;
  struct S&lt;42&gt;
  {
      static double y;
  };
  </code></pre>