==== tests/cases/compiler/indexerConstraints2.ts (3 errors) ====
    class A { a: number; }
    class B extends A { b: number; }
    
    // Inheritance
    class F {
        [s: string]: B
    }
    class G extends F {
        [n: number]: A
        ~~~~~~~~~~~~~~
!!! indexerConstraints2.ts(9,5): error TS2168: Numeric indexer type 'A' must be assignable to string indexer type 'B':
!!! 	Type 'A' is missing property 'b' from type 'B'.
    }
    
    // Other way
    class H {
        [n: number]: A
    }
    class I extends H {
        [s: string]: B
        ~~~~~~~~~~~~~~
!!! indexerConstraints2.ts(17,5): error TS2168: Numeric indexer type 'A' must be assignable to string indexer type 'B':
!!! 	Type 'A' is missing property 'b' from type 'B'.
    }
    
    // With hidden indexer
    class J {
        [n: number]: {}
    }
    
    class K extends J {
        [n: number]: A;
        ~~~~~~~~~~~~~~
!!! indexerConstraints2.ts(26,5): error TS2168: Numeric indexer type 'A' must be assignable to string indexer type 'B':
!!! 	Type 'A' is missing property 'b' from type 'B'.
        [s: string]: B;
    }