interface I {
    [s: string]: (s: string) => number;
}

interface J {
    [s: number]: (s: string) => number;
}

var x: I;
var y: J;
x = {
    s: t => t * t, // Should error
};
x = {
    0: t => t * t, // Should error
};
y = {
    s: t => t * t, // Should error
};
y = {
    0: t => t * t, // Should error
};
