File: indexSignaturesInferentialTyping.js

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (15 lines) | stat: -rw-r--r-- 623 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//// [indexSignaturesInferentialTyping.ts]
function foo<T>(items: { [index: number]: T }): T { return undefined; }
function bar<T>(items: { [index: string]: T }): T { return undefined; }

var x1 = foo({ 0: 0, 1: 1 });       // type should be number
var x2 = bar({ 0: 0, 1: 1 });
var x3 = bar({ zero: 0, one: 1 });  // type should be number


//// [indexSignaturesInferentialTyping.js]
function foo(items) { return undefined; }
function bar(items) { return undefined; }
var x1 = foo({ 0: 0, 1: 1 }); // type should be number
var x2 = bar({ 0: 0, 1: 1 });
var x3 = bar({ zero: 0, one: 1 }); // type should be number