superCallArgsMustMatch.ts(3,12): error TS2564: Property 'foo' has no initializer and is not definitely assigned in the constructor.
superCallArgsMustMatch.ts(17,15): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.


==== superCallArgsMustMatch.ts (2 errors) ====
    class T5<T>{
    
        public foo: T;
               ~~~
!!! error TS2564: Property 'foo' has no initializer and is not definitely assigned in the constructor.
    
        constructor(public bar: T) { }
    
    }
    
     
    
    class T6 extends T5<number>{
    
        constructor() {
    
            // Should error; base constructor has type T for first arg,
            // which is instantiated with 'number' in the extends clause
            super("hi");
                  ~~~~
!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
    
            var x: number = this.foo;
    
        }
    
    }
    
    