tests/cases/compiler/propertiesAndIndexers.ts(16,5): error TS2412: Property '1' of type 'Z' is not assignable to numeric index type 'string'.
tests/cases/compiler/propertiesAndIndexers.ts(18,5): error TS2412: Property '3' of type 'boolean' is not assignable to numeric index type 'string'.
tests/cases/compiler/propertiesAndIndexers.ts(19,5): error TS2412: Property '6' of type '() => string' is not assignable to numeric index type 'string'.
tests/cases/compiler/propertiesAndIndexers.ts(23,5): error TS2412: Property '4' of type 'boolean' is not assignable to numeric index type 'string'.
tests/cases/compiler/propertiesAndIndexers.ts(28,5): error TS2411: Property '1' of type 'Z' is not assignable to string index type 'number'.
tests/cases/compiler/propertiesAndIndexers.ts(28,5): error TS2411: Property 'a' of type 'Y' is not assignable to string index type 'number'.
tests/cases/compiler/propertiesAndIndexers.ts(28,5): error TS2411: Property 'b' of type 'X' is not assignable to string index type 'number'.
tests/cases/compiler/propertiesAndIndexers.ts(29,5): error TS2411: Property 'c' of type 'boolean' is not assignable to string index type 'number'.
tests/cases/compiler/propertiesAndIndexers.ts(30,5): error TS2411: Property '3' of type 'boolean' is not assignable to string index type 'number'.
tests/cases/compiler/propertiesAndIndexers.ts(33,11): error TS2411: Property '4' of type 'boolean' is not assignable to string index type 'number'.
tests/cases/compiler/propertiesAndIndexers.ts(33,11): error TS2411: Property '5' of type 'string' is not assignable to string index type 'number'.
tests/cases/compiler/propertiesAndIndexers.ts(33,11): error TS2411: Property '6' of type '() => string' is not assignable to string index type 'number'.
tests/cases/compiler/propertiesAndIndexers.ts(33,11): error TS2413: Numeric index type 'string' is not assignable to string index type 'number'.
tests/cases/compiler/propertiesAndIndexers.ts(34,5): error TS2411: Property '2' of type 'Z' is not assignable to string index type 'number'.
tests/cases/compiler/propertiesAndIndexers.ts(34,5): error TS2412: Property '2' of type 'Z' is not assignable to numeric index type 'string'.
tests/cases/compiler/propertiesAndIndexers.ts(35,5): error TS2412: Property 'Infinity' of type 'number' is not assignable to numeric index type 'string'.
tests/cases/compiler/propertiesAndIndexers.ts(36,5): error TS2411: Property 'zoo' of type 'string' is not assignable to string index type 'number'.
tests/cases/compiler/propertiesAndIndexers.ts(44,5): error TS2411: Property 't' of type 'number' is not assignable to string index type 'string'.
tests/cases/compiler/propertiesAndIndexers.ts(50,5): error TS2412: Property '3' of type 'boolean' is not assignable to numeric index type 'string'.


==== tests/cases/compiler/propertiesAndIndexers.ts (19 errors) ====
    interface X { }
    interface Y {
        n: number;
    }
    interface Z {
        s: string;
    }
    
    interface A {
        a: Y;
        b: X;
        1: Z;
    }
    
    interface B extends A {
        [n: number]: string;
        ~~~~~~~~~~~~~~~~~~~~
!!! error TS2412: Property '1' of type 'Z' is not assignable to numeric index type 'string'.
        c: boolean;
        3: boolean;
        ~
!!! error TS2412: Property '3' of type 'boolean' is not assignable to numeric index type 'string'.
        6(): string;
        ~~~~~~~~~~~~
!!! error TS2412: Property '6' of type '() => string' is not assignable to numeric index type 'string'.
    }
    
    interface B {
        4: boolean;
        ~
!!! error TS2412: Property '4' of type 'boolean' is not assignable to numeric index type 'string'.
        5: string;
    }
    
    interface C extends A {
        [s: string]: number;
        ~~~~~~~~~~~~~~~~~~~~
!!! error TS2411: Property '1' of type 'Z' is not assignable to string index type 'number'.
        ~~~~~~~~~~~~~~~~~~~~
!!! error TS2411: Property 'a' of type 'Y' is not assignable to string index type 'number'.
        ~~~~~~~~~~~~~~~~~~~~
!!! error TS2411: Property 'b' of type 'X' is not assignable to string index type 'number'.
        c: boolean;
        ~
!!! error TS2411: Property 'c' of type 'boolean' is not assignable to string index type 'number'.
        3: boolean;
        ~
!!! error TS2411: Property '3' of type 'boolean' is not assignable to string index type 'number'.
    }
    
    interface D extends B, C {
              ~
!!! error TS2411: Property '4' of type 'boolean' is not assignable to string index type 'number'.
              ~
!!! error TS2411: Property '5' of type 'string' is not assignable to string index type 'number'.
              ~
!!! error TS2411: Property '6' of type '() => string' is not assignable to string index type 'number'.
              ~
!!! error TS2413: Numeric index type 'string' is not assignable to string index type 'number'.
        2: Z;
        ~
!!! error TS2411: Property '2' of type 'Z' is not assignable to string index type 'number'.
        ~
!!! error TS2412: Property '2' of type 'Z' is not assignable to numeric index type 'string'.
        Infinity: number;
        ~~~~~~~~
!!! error TS2412: Property 'Infinity' of type 'number' is not assignable to numeric index type 'string'.
        zoo: string;
        ~~~
!!! error TS2411: Property 'zoo' of type 'string' is not assignable to string index type 'number'.
    }
    
    class P {
        [n: string]: string
    }
    
    class Q extends P {
        t: number;
        ~
!!! error TS2411: Property 't' of type 'number' is not assignable to string index type 'string'.
    }
    
    var c: {
        [n: number]: string;
        c: boolean;
        3: boolean;
        ~
!!! error TS2412: Property '3' of type 'boolean' is not assignable to numeric index type 'string'.
    };