foo2.ts(7,2): error TS2564: Property 'm1' has no initializer and is not definitely assigned in the constructor.
foo3.ts(7,10): error TS2564: Property 'm1' has no initializer and is not definitely assigned in the constructor.


==== foo1.ts (0 errors) ====
    interface I1 {
    	a: string;
    	b: number;
    }
    
    var x: I1 = {a: "test", b: 42};
    export = x; // Should fail, I1 not exported.
    
    
==== foo2.ts (1 errors) ====
    interface I1 {
    	a: string;
    	b: number;
    }
    
    class C1 {
    	m1: I1;
    	~~
!!! error TS2564: Property 'm1' has no initializer and is not definitely assigned in the constructor.
    }
    
    export = C1; // Should fail, type I1 of visible member C1.m1 not exported.
    
==== foo3.ts (1 errors) ====
    interface I1 {
    	a: string;
    	b: number;
    }
    
    class C1 {
    	private m1: I1;
    	        ~~
!!! error TS2564: Property 'm1' has no initializer and is not definitely assigned in the constructor.
    }
    
    export = C1; // Should work, private type I1 of visible class C1 only used in private member m1.
    