tests/cases/compiler/dynamicNamesErrors.ts(5,5): error TS2718: Duplicate property '1'.
tests/cases/compiler/dynamicNamesErrors.ts(6,5): error TS2733: Property '1' was also declared here.
tests/cases/compiler/dynamicNamesErrors.ts(19,5): error TS2717: Subsequent property declarations must have the same type.  Property '[c1]' must be of type 'number', but here has type 'string'.
tests/cases/compiler/dynamicNamesErrors.ts(24,1): error TS2322: Type 'T2' is not assignable to type 'T1'.
  Types of property '[c0]' are incompatible.
    Type 'string' is not assignable to type 'number'.
tests/cases/compiler/dynamicNamesErrors.ts(25,1): error TS2322: Type 'T1' is not assignable to type 'T2'.
  Types of property '[c0]' are incompatible.
    Type 'number' is not assignable to type 'string'.


==== tests/cases/compiler/dynamicNamesErrors.ts (5 errors) ====
    const c0 = "1";
    const c1 = 1;
    
    interface T0 {
        [c0]: number;
        ~~~~
!!! error TS2718: Duplicate property '1'.
        1: number;
        ~
!!! error TS2733: Property '1' was also declared here.
    }
    
    interface T1 {
        [c0]: number;
    }
    
    interface T2 {
        [c0]: string;
    }
    
    interface T3 {
        [c0]: number;
        [c1]: string;
        ~~~~
!!! error TS2717: Subsequent property declarations must have the same type.  Property '[c1]' must be of type 'number', but here has type 'string'.
!!! related TS6203 tests/cases/compiler/dynamicNamesErrors.ts:18:5: '[c1]' was also declared here.
    }
    
    let t1: T1;
    let t2: T2;
    t1 = t2;
    ~~
!!! error TS2322: Type 'T2' is not assignable to type 'T1'.
!!! error TS2322:   Types of property '[c0]' are incompatible.
!!! error TS2322:     Type 'string' is not assignable to type 'number'.
    t2 = t1;
    ~~
!!! error TS2322: Type 'T1' is not assignable to type 'T2'.
!!! error TS2322:   Types of property '[c0]' are incompatible.
!!! error TS2322:     Type 'number' is not assignable to type 'string'.
    
    const x = Symbol();
    const y = Symbol();
    const z = Symbol();
    const w = Symbol();
    
    export interface InterfaceMemberVisibility {
        [x]: number;
        [y](): number;
    }
    
    export class ClassMemberVisibility {
        static [x]: number;
        static [y](): number { return 0; }
        static get [z](): number { return 0; }
        static set [w](value: number) { }
    
        [x]: number;
        [y](): number { return 0; }
        get [z](): number { return 0; }
        set [w](value: number) { }
    }
    
    export type ObjectTypeVisibility = {
        [x]: number;
        [y](): number;
    };
    
    export const ObjectLiteralVisibility = {
        [x]: 0,
        [y](): number { return 0; },
        get [z](): number { return 0; },
        set [w](value: number) { },
    };