title: "Parameter set, but not used" warning in template function
body: <p>I get the following <code>warning: parameter 'tupleValue' set but not used [-Wunused-but-set-parameter]</code>, but the parameter is explicitly used in return statement.
  Does it really mean that the return value is ignored somewhere later in the call sequence and compiler is just cool enough to optimize it out on this line?
  Here is the code:</p>
  
  <pre><code>template&lt;unsigned int ...Vs, class ...Ts&gt;
  typename removeLastType&lt;Ts...&gt;::type internalRemoveData(intValues&lt;Vs...&gt;, std::tuple&lt;Ts...&gt; tupleValue)
  {
     return std::forward_as_tuple(std::get&lt;Vs&gt;(tupleValue)...);
  }
  </code></pre>
  
  <p>Complete source is here: <a href="https://github.com/copperspice/cs_signal/blob/master/src/cs_internal.h#L316" rel="nofollow noreferrer">https://github.com/copperspice/cs_signal/blob/master/src/cs_internal.h#L316</a></p>
  
  <p>Compiled in Windows:  </p>
  
  <pre><code>-- The C compiler identification is GNU 5.3.0  
  -- The CXX compiler identification is GNU 5.3.0  
  </code></pre>