=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES6.ts === interface I { >I : I >T : T [s: number]: T; >s : number >T : T } declare function foo(obj: I): T >foo : (obj: I) => T >T : T >obj : I >I : I >T : T >T : T foo({ >foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : number | (() => void) | number[] >foo : (obj: I) => T >{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: number]: number | (() => void) | number[]; 0: () => void; p: string; } p: "", >p : string 0: () => { }, >() => { } : () => void ["hi" + "bye"]: true, >"hi" + "bye" : string [0 + 1]: 0, >0 + 1 : number [+"hi"]: [0] >+"hi" : number >[0] : number[] });