tests/cases/compiler/contextualTypingOfObjectLiterals.ts(4,1): error TS2322: Type '{ x: string; }' is not assignable to type '{ [x: string]: string; }'. Index signature is missing in type '{ x: string; }'. tests/cases/compiler/contextualTypingOfObjectLiterals.ts(10,3): error TS2345: Argument of type '{ x: string; }' is not assignable to parameter of type '{ [s: string]: string; }'. Index signature is missing in type '{ x: string; }'. ==== tests/cases/compiler/contextualTypingOfObjectLiterals.ts (2 errors) ==== var obj1: { [x: string]: string; }; var obj2 = {x: ""}; obj1 = {}; // Ok obj1 = obj2; // Error - indexer doesn't match ~~~~ !!! error TS2322: Type '{ x: string; }' is not assignable to type '{ [x: string]: string; }'. !!! error TS2322: Index signature is missing in type '{ x: string; }'. function f(x: { [s: string]: string }) { } f({}); // Ok f(obj1); // Ok f(obj2); // Error - indexer doesn't match ~~~~ !!! error TS2345: Argument of type '{ x: string; }' is not assignable to parameter of type '{ [s: string]: string; }'. !!! error TS2345: Index signature is missing in type '{ x: string; }'.