title: Compiler can't execute constexpr expression
body: <p>I have code something like this:</p>
  <pre><code>template&lt;typename ... Args&gt;
  constexpr size_t get_init_size(Args ... args) {
      return sizeof...(Args);
  }
  
  template&lt;typename ... Args&gt;
  constexpr auto make_generic_header(Args ... args) {
      constexpr size_t header_lenght = get_init_size(args...);
      return header_lenght;
  }
  
  constexpr auto create_ipv4_header() {
      constexpr auto x = make_generic_header(0b01, 0b10, 0b01);
      return x;
  }
  </code></pre>
  <p>I know it is dummy code, but I isolate it to find error.</p>
  <p>Compiler give me error(GCC):</p>
  <pre><code>In instantiation of 'constexpr auto make_generic_header(Args&amp;&amp; ...) [with Args = {int, int, int}]':
  /tmp/tmp.CaO5YHcqd8/network.h:39:43:   required from here
  /tmp/tmp.CaO5YHcqd8/network.h:31:22: error: 'args#0' is not a constant expression
     31 |     constexpr size_t header_lenght = get_init_size(args...);
        |                      ^~~~~~~~~~~~~
  </code></pre>
  <p>I tried add qualifier <strong>const</strong> to function parameters but it same doesn't work. In theory all this function can calculate in compile time. But where is problem I can't find with my knowledge.</p>