title: static_assert fails compilation even though template function is called nowhere
body: <p>I use g++ 4.6.3, (currently default package for ubuntu 12.04) with the flag c++0x, and I stumble across this:</p>
  
  <pre><code>template &lt;typename T&gt;
  inline T getValue(AnObject&amp;)
  {
      static_assert(false , "this function has to be implemented for desired type");
  }
  </code></pre>
  
  <p>with the compilation error:</p>
  
  <pre><code>static_assertion failed "this function has to be implemented for the desired type"
  </code></pre>
  
  <p><strong>even though I don't call this function anywhere yet</strong>.</p>
  
  <p>Is it a g++ bug ? Shouldn't this function be instanciated only if it is called somewhere in the code. </p>