==== tests/cases/compiler/twoInterfacesDifferentRootModule.ts (2 errors) ====
    // two interfaces with different root modules should not merge
    
    module M {
        export interface A {
            foo: string;
        }
    
        export interface B<T> {
            foo: T;
        }
    }
    
    module M2 {
        export interface A {
            bar: number;
        }
    
        var a: A;
        var r1 = a.foo; // error
                   ~~~
!!! twoInterfacesDifferentRootModule.ts(19,16): error TS2094: The property 'foo' does not exist on value of type 'A'.
        var r2 = a.bar; 
    
        export interface B<T> {
            bar: T;
        }
    
        var b: B<string>;
        var r3 = b.foo; // error
                   ~~~
!!! twoInterfacesDifferentRootModule.ts(27,16): error TS2094: The property 'foo' does not exist on value of type 'B<string>'.
        var r4 = b.bar; 
    }