tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames.ts(2,5): error TS2300: Duplicate identifier 'x'.
tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames.ts(6,5): error TS2300: Duplicate identifier 'x'.
tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames.ts(11,9): error TS2300: Duplicate identifier 'x'.
tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames.ts(15,9): error TS2300: Duplicate identifier 'x'.
tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames.ts(33,9): error TS2300: Duplicate identifier 'x'.
tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames.ts(39,9): error TS2300: Duplicate identifier 'x'.


==== tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames.ts (6 errors) ====
    interface A {
        x: string; // error
        ~
!!! error TS2300: Duplicate identifier 'x'.
    }
    
    interface A {
        x: number;
        ~
!!! error TS2300: Duplicate identifier 'x'.
    }
    
    module M {
        interface A<T> {
            x: T;
            ~
!!! error TS2300: Duplicate identifier 'x'.
        }
    
        interface A<T> {
            x: number;  // error
            ~
!!! error TS2300: Duplicate identifier 'x'.
        }
    }
    
    module M2 {
        interface A<T> {
            x: T;
        }   
    }
    
    module M2 {
        interface A<T> {
            x: number;  // ok, different declaration space than other M2
        }
    }
    
    module M3 {
        export interface A<T> {
            x: T;
            ~
!!! error TS2300: Duplicate identifier 'x'.
        }
    }
    
    module M3 {
        export interface A<T> {
            x: number;  // error
            ~
!!! error TS2300: Duplicate identifier 'x'.
        }
    }