title: How to make a generic of a class is required?
body: <p>The class is:</p>
  
  <pre><code>class Test&lt;P&gt; {
    constructor(data: P) {}
  }
  </code></pre>
  
  <p>I hope the following code does not pass the type check because it has no incoming generic:</p>
  
  <pre><code>new Test({ a: 1 })
  </code></pre>
  
  <p>I know that the generic P above is automatically derived as <code>{a: number}</code>, but this is not what I want, the following is.</p>
  
  <pre><code>new Test&lt; {a: number} &gt;({ a: 1 })
  </code></pre>
  
  <p>I tried a lot of methods, but in the end the generic P will be automatically derived into the constructor's parameter type.</p>