=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts === interface I { >I : I >T : T [s: string]: T; >s : string >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]}) : string | number | boolean | number[] | (() => void) >foo : (obj: I) => T >{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | number | boolean | number[] | (() => void); 0: () => void; p: string; } p: "", >p : string >"" : string 0: () => { }, >() => { } : () => void ["hi" + "bye"]: true, >"hi" + "bye" : string >"hi" : string >"bye" : string >true : boolean [0 + 1]: 0, >0 + 1 : number >0 : number >1 : number >0 : number [+"hi"]: [0] >+"hi" : number >"hi" : string >[0] : number[] >0 : number });