TypeScript/tests/cases/compiler/thisInTupleTypeParameterConstraints.ts
Nathan Shively-Sanders 7e115bbbef Use correct this in tuple type parameter constraints
Instantiate this in tuple types used as type parameter constraints
2016-08-09 12:44:08 -07:00

22 lines
592 B
TypeScript

/// <reference no-default-lib="true"/>
interface Boolean {}
interface IArguments {}
interface Function {}
interface Number {}
interface RegExp {}
interface Object {}
interface String {}
interface Array<T> {
// 4 methods will run out of memory if this-types are not instantiated
// correctly for tuple types that are type parameter constraints
map<U>(arg: this): void;
reduceRight<U>(arg: this): void;
reduce<U>(arg: this): void;
reduce2<U>(arg: this): void;
}
declare function f<T extends [(x: number) => number]>(a: T): void;
let x: [(x: number) => number];
f(x);