mergedInterfacesWithMultipleBases.ts(5,5): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor.
mergedInterfacesWithMultipleBases.ts(9,5): error TS2564: Property 'b' has no initializer and is not definitely assigned in the constructor.
mergedInterfacesWithMultipleBases.ts(21,5): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor.
mergedInterfacesWithMultipleBases.ts(22,5): error TS2564: Property 'b' has no initializer and is not definitely assigned in the constructor.
mergedInterfacesWithMultipleBases.ts(23,5): error TS2564: Property 'y' has no initializer and is not definitely assigned in the constructor.
mergedInterfacesWithMultipleBases.ts(24,5): error TS2564: Property 'z' has no initializer and is not definitely assigned in the constructor.
mergedInterfacesWithMultipleBases.ts(28,9): error TS2454: Variable 'a' is used before being assigned.
mergedInterfacesWithMultipleBases.ts(33,9): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor.
mergedInterfacesWithMultipleBases.ts(37,9): error TS2564: Property 'b' has no initializer and is not definitely assigned in the constructor.
mergedInterfacesWithMultipleBases.ts(49,9): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor.
mergedInterfacesWithMultipleBases.ts(50,9): error TS2564: Property 'b' has no initializer and is not definitely assigned in the constructor.
mergedInterfacesWithMultipleBases.ts(51,9): error TS2564: Property 'y' has no initializer and is not definitely assigned in the constructor.
mergedInterfacesWithMultipleBases.ts(52,9): error TS2564: Property 'z' has no initializer and is not definitely assigned in the constructor.


==== mergedInterfacesWithMultipleBases.ts (13 errors) ====
    // merged interfaces behave as if all extends clauses from each declaration are merged together
    // no errors expected
    
    class C {
        a: number;
        ~
!!! error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor.
    }
    
    class C2 {
        b: number;
        ~
!!! error TS2564: Property 'b' has no initializer and is not definitely assigned in the constructor.
    }
    
    interface A extends C {
        y: string;
    }
    
    interface A extends C2 {
        z: string;
    }
    
    class D implements A {
        a: number;
        ~
!!! error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor.
        b: number;
        ~
!!! error TS2564: Property 'b' has no initializer and is not definitely assigned in the constructor.
        y: string;
        ~
!!! error TS2564: Property 'y' has no initializer and is not definitely assigned in the constructor.
        z: string;
        ~
!!! error TS2564: Property 'z' has no initializer and is not definitely assigned in the constructor.
    }
    
    var a: A;
    var r = a.a;
            ~
!!! error TS2454: Variable 'a' is used before being assigned.
    
    // generic interfaces in a module
    namespace M {
        class C<T> {
            a: T;
            ~
!!! error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor.
        }
    
        class C2<T> {
            b: T;
            ~
!!! error TS2564: Property 'b' has no initializer and is not definitely assigned in the constructor.
        }
    
        interface A<T> extends C<T> {
            y: T;
        }
    
        interface A<T> extends C2<string> {
            z: T;
        }
    
        class D implements A<boolean> {
            a: boolean;
            ~
!!! error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor.
            b: string;
            ~
!!! error TS2564: Property 'b' has no initializer and is not definitely assigned in the constructor.
            y: boolean;
            ~
!!! error TS2564: Property 'y' has no initializer and is not definitely assigned in the constructor.
            z: boolean;
            ~
!!! error TS2564: Property 'z' has no initializer and is not definitely assigned in the constructor.
        }
    }