I get the following `warning: parameter 'tupleValue' set but not used [-Wunused-but-set-parameter]`, 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:

```
template<unsigned int ...Vs, class ...Ts>
typename removeLastType<Ts...>::type internalRemoveData(intValues<Vs...>, std::tuple<Ts...> tupleValue)
{
   return std::forward_as_tuple(std::get<Vs>(tupleValue)...);
}

```

Complete source is here: <https://github.com/copperspice/cs_signal/blob/master/src/cs_internal.h#L316>

Compiled in Windows: 

```
-- The C compiler identification is GNU 5.3.0  
-- The CXX compiler identification is GNU 5.3.0  

```