title: Spurious type error with variadic template and tuple in CLion?
body: <p>I am trying to make a constructor that takes a map of type enum (key) and tuple (value). The types in the tuple are not known. Therefore i make a variadic template (parameter pack):</p>
  
  <pre><code>template &lt;typename ...T&gt; Entity(map&lt;TYPE, tuple&lt;T...&gt;&gt;)  {}
  </code></pre>
  
  <p>And my main:</p>
  
  <pre><code>map&lt;TYPE, tuple&lt;int,char&gt;&gt; theMap;
  Entity* e = new Entity(theMap);
  </code></pre>
  
  <p>The issue is that my IDE complains: </p>
  
  <pre><code>Parameter type mismatch: Class map&lt;TYPE, tuple&lt;int,char&gt; is not compatible with class 'map&lt;TYPE,tuple&lt;int,char,int,char&gt;&gt;'
  </code></pre>
  
  <p>So somehow i get duplicates of every type in the tuple of the constructor. This compiles with no errors by the way but its just very annoying.</p>
  
  <p>Complete example of my code:</p>
  
  <pre><code>#include &lt;string&gt;
  #include &lt;map&gt;
  #include &lt;tuple&gt;
  
  using namespace std;
  enum TYPE {DRAWABLE, COLLIDABLE, MOVABLE};
  
  class Entity {
  private:
  public:
      template &lt;typename ...T&gt; Entity(map&lt;TYPE, tuple&lt;T...&gt;&gt;)  {}
  };
  
  int main() {
      map&lt;TYPE, tuple&lt;int,char&gt;&gt; theMap;
      Entity* e = new Entity(theMap);
      return 0;
  }
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/GWj6f.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/GWj6f.png" alt="THE PROOF"></a></p>
  
  <p>How come the tuple in the constructor is created with duplicate types? (int, char, int, char) when i only specified (int,char). Have I misinterpreted how the template works or is it just a bug with the IDE?</p>