title: Constructors for derived classes must contain a 'super' call. ts(2377)
body: <p>This is not the usual problem with a missing <code>super()</code> call. Instead I have a special construct where I need to call <code>super()</code> differently. Check this code:</p>
  <pre class="lang-js prettyprint-override"><code>class A {
      public constructor() {
          console.log(&quot;c-tor A&quot;);
      }
  }
  
  class B extends A {
      public constructor(s: string);
      public constructor(i: number, s: string);
      public constructor(_i: string | number, s?: string) {
          const x = () =&gt; {
              s = &quot;&quot;;
              super();
          };
  
          x();
          console.log(&quot;c-tor B&quot;);
      }
  }
  
  const b = new B(&quot;&quot;);
  </code></pre>
  <p>It runs fine and prints:</p>
  <blockquote>
  <p>c-tor A
  c-tor B</p>
  </blockquote>
  <p>However, tsc reports the error mentioned in the title:</p>
  <p><a href="https://i.stack.imgur.com/iIBFX.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/iIBFX.png" alt="enter image description here" /></a></p>
  <p>and I cannot suppress it by using <code>// @ts-ignore</code>. What other option do I have to silence the compiler?</p>