File: callbacksDontShareTypes.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 (28 lines) | stat: -rw-r--r-- 975 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//// [callbacksDontShareTypes.ts]
interface Collection<T> {
    length: number;
    add(x: T): void;
    remove(x: T): boolean;
}
interface Combinators {
    map<T, U>(c: Collection<T>, f: (x: T) => U): Collection<U>;
    map<T>(c: Collection<T>, f: (x: T) => any): Collection<any>;
}

var _: Combinators;
var c2: Collection<number>;

var rf1 = (x: number) => { return x.toFixed() };
var r1a = _.map(c2, (x) => { return x.toFixed() });
var r1b = _.map(c2, rf1); // this line should not cause the following 2 to have errors 
var r5a = _.map<number, string>(c2, (x) => { return x.toFixed() });
var r5b = _.map<number, string>(c2, rf1);

//// [callbacksDontShareTypes.js]
var _;
var c2;
var rf1 = function (x) { return x.toFixed(); };
var r1a = _.map(c2, function (x) { return x.toFixed(); });
var r1b = _.map(c2, rf1); // this line should not cause the following 2 to have errors 
var r5a = _.map(c2, function (x) { return x.toFixed(); });
var r5b = _.map(c2, rf1);