80 lines
1.6 KiB
Plaintext
80 lines
1.6 KiB
Plaintext
exports[`test array.js 1`] = `
|
|
"var a = [\"...\"];
|
|
var b = a.map (function (x) { return 0; });
|
|
var c: string = b[0]; // error: number !~> string
|
|
|
|
var array = [];
|
|
function f() {
|
|
array = array.map (function () { return \"...\"; });
|
|
var x:number = array[0]; // error: string !~> number
|
|
}
|
|
|
|
var Foo = require(\'./genericfoo\');
|
|
var foo = new Foo();
|
|
function g() {
|
|
var foo1 = foo.map (function() { return \"...\"; });
|
|
var x:number = foo1.get(); // error: string !~> number
|
|
foo = foo1;
|
|
}
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// error: number !~> string
|
|
// error: string !~> number
|
|
// error: string !~> number
|
|
var a = [ \"...\" ];
|
|
var b = a.map(function(x) {
|
|
return 0;
|
|
});
|
|
var c: string = b[0];
|
|
var array = [];
|
|
|
|
function f() {
|
|
array = array.map(function() {
|
|
return \"...\";
|
|
});
|
|
|
|
var x: number = array[0];
|
|
}
|
|
|
|
var Foo = require(\"./genericfoo\");
|
|
var foo = new Foo();
|
|
|
|
function g() {
|
|
var foo1 = foo.map(function() {
|
|
return \"...\";
|
|
});
|
|
var x: number = foo1.get();
|
|
|
|
foo = foo1;
|
|
}
|
|
"
|
|
`;
|
|
|
|
exports[`test genericfoo.js 1`] = `
|
|
"class Foo<T> {
|
|
x:T;
|
|
self():Foo<T> { return this; }
|
|
map<U>(callbackfn: () => U): Foo<U> { return new Foo(); }
|
|
set(x:T): void { }
|
|
get(): T { return this.x; }
|
|
}
|
|
|
|
module.exports = Foo;
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
class Foo<T> {
|
|
x: T;
|
|
self(): Foo<T> {
|
|
return this;
|
|
}
|
|
map<U>(callbackfn: () => U): Foo<U> {
|
|
return new Foo();
|
|
}
|
|
set(x: T): void {}
|
|
get(): T {
|
|
return this.x;
|
|
}
|
|
}
|
|
|
|
module.exports = Foo;
|
|
"
|
|
`;
|