2014-07-13 01:04:16 +02:00
|
|
|
//// [objectLitIndexerContextualType.ts]
|
|
|
|
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 not error
|
|
|
|
};
|
|
|
|
y = {
|
|
|
|
0: t => t * t, // Should error
|
|
|
|
};
|
|
|
|
|
|
|
|
//// [objectLitIndexerContextualType.js]
|
|
|
|
var x;
|
|
|
|
var y;
|
|
|
|
x = {
|
2014-07-28 20:34:30 +02:00
|
|
|
s: function (t) { return t * t; }
|
2014-07-13 01:04:16 +02:00
|
|
|
};
|
|
|
|
x = {
|
2014-07-28 20:34:30 +02:00
|
|
|
0: function (t) { return t * t; }
|
2014-07-13 01:04:16 +02:00
|
|
|
};
|
|
|
|
y = {
|
2014-07-28 20:34:30 +02:00
|
|
|
s: function (t) { return t * t; }
|
2014-07-13 01:04:16 +02:00
|
|
|
};
|
|
|
|
y = {
|
2014-07-28 20:34:30 +02:00
|
|
|
0: function (t) { return t * t; }
|
2014-07-13 01:04:16 +02:00
|
|
|
};
|