missingTypeArguments1.ts(4,5): error TS2564: Property 'p1' has no initializer and is not definitely assigned in the constructor.
missingTypeArguments1.ts(4,15): error TS2314: Generic type 'X<T>' requires 1 type argument(s).
missingTypeArguments1.ts(9,5): error TS2564: Property 'p2' has no initializer and is not definitely assigned in the constructor.
missingTypeArguments1.ts(9,26): error TS2314: Generic type 'X2<T>' requires 1 type argument(s).
missingTypeArguments1.ts(14,5): error TS2564: Property 'p3' has no initializer and is not definitely assigned in the constructor.
missingTypeArguments1.ts(14,9): error TS2314: Generic type 'X3<T>' requires 1 type argument(s).
missingTypeArguments1.ts(19,5): error TS2564: Property 'p4' has no initializer and is not definitely assigned in the constructor.
missingTypeArguments1.ts(19,11): error TS2314: Generic type 'X4<T>' requires 1 type argument(s).
missingTypeArguments1.ts(24,9): error TS2314: Generic type 'X5<T>' requires 1 type argument(s).
missingTypeArguments1.ts(29,5): error TS2564: Property 'p6' has no initializer and is not definitely assigned in the constructor.
missingTypeArguments1.ts(29,15): error TS2314: Generic type 'Y<T>' requires 1 type argument(s).
missingTypeArguments1.ts(34,5): error TS2564: Property 'p7' has no initializer and is not definitely assigned in the constructor.
missingTypeArguments1.ts(34,26): error TS2314: Generic type 'Y<T>' requires 1 type argument(s).
missingTypeArguments1.ts(39,5): error TS2564: Property 'p8' has no initializer and is not definitely assigned in the constructor.
missingTypeArguments1.ts(39,9): error TS2314: Generic type 'Y<T>' requires 1 type argument(s).
missingTypeArguments1.ts(44,5): error TS2564: Property 'p9' has no initializer and is not definitely assigned in the constructor.
missingTypeArguments1.ts(44,11): error TS2314: Generic type 'Y<T>' requires 1 type argument(s).
missingTypeArguments1.ts(49,9): error TS2314: Generic type 'Y<T>' requires 1 type argument(s).


==== missingTypeArguments1.ts (18 errors) ====
    interface I<T> { }
    class Y<T> {}
    class X<T> {
        p1: () => X;
        ~~
!!! error TS2564: Property 'p1' has no initializer and is not definitely assigned in the constructor.
                  ~
!!! error TS2314: Generic type 'X<T>' requires 1 type argument(s).
    }
    var a: X<number>;
    
    class X2<T> {
        p2: { [idx: number]: X2 } 
        ~~
!!! error TS2564: Property 'p2' has no initializer and is not definitely assigned in the constructor.
                             ~~
!!! error TS2314: Generic type 'X2<T>' requires 1 type argument(s).
    }
    var a2: X2<number>;
    
    class X3<T> {
        p3: X3[]
        ~~
!!! error TS2564: Property 'p3' has no initializer and is not definitely assigned in the constructor.
            ~~
!!! error TS2314: Generic type 'X3<T>' requires 1 type argument(s).
    }
    var a3: X3<number>;
    
    class X4<T> {
        p4: I<X4>
        ~~
!!! error TS2564: Property 'p4' has no initializer and is not definitely assigned in the constructor.
              ~~
!!! error TS2314: Generic type 'X4<T>' requires 1 type argument(s).
    }
    var a4: X4<number>;
    
    class X5<T> {
        p5: X5
            ~~
!!! error TS2314: Generic type 'X5<T>' requires 1 type argument(s).
    }
    var a5: X5<number>;
    
    class X6<T> {
        p6: () => Y;
        ~~
!!! error TS2564: Property 'p6' has no initializer and is not definitely assigned in the constructor.
                  ~
!!! error TS2314: Generic type 'Y<T>' requires 1 type argument(s).
    }
    var a6: X6<number>;
    
    class X7<T> {
        p7: { [idx: number]: Y } 
        ~~
!!! error TS2564: Property 'p7' has no initializer and is not definitely assigned in the constructor.
                             ~
!!! error TS2314: Generic type 'Y<T>' requires 1 type argument(s).
    }
    var a7: X7<number>;
    
    class X8<T> {
        p8: Y[]
        ~~
!!! error TS2564: Property 'p8' has no initializer and is not definitely assigned in the constructor.
            ~
!!! error TS2314: Generic type 'Y<T>' requires 1 type argument(s).
    }
    var a8: X8<number>;
    
    class X9<T> {
        p9: I<Y>
        ~~
!!! error TS2564: Property 'p9' has no initializer and is not definitely assigned in the constructor.
              ~
!!! error TS2314: Generic type 'Y<T>' requires 1 type argument(s).
    }
    var a9: X9<number>;
    
    class X10<T> {
        pa: Y
            ~
!!! error TS2314: Generic type 'Y<T>' requires 1 type argument(s).
    }
    var a10: X10<number>;
    
     
    