45 lines
2.2 KiB
Text
45 lines
2.2 KiB
Text
=== tests/cases/compiler/promiseIdentityWithAny.ts ===
|
|
interface IPromise<T, V> {
|
|
>IPromise : Symbol(IPromise, Decl(promiseIdentityWithAny.ts, 0, 0))
|
|
>T : Symbol(T, Decl(promiseIdentityWithAny.ts, 0, 19))
|
|
>V : Symbol(V, Decl(promiseIdentityWithAny.ts, 0, 21))
|
|
|
|
then<U, W>(callback: (x: T) => IPromise<U, W>): IPromise<U, W>;
|
|
>then : Symbol(then, Decl(promiseIdentityWithAny.ts, 0, 26))
|
|
>U : Symbol(U, Decl(promiseIdentityWithAny.ts, 1, 9))
|
|
>W : Symbol(W, Decl(promiseIdentityWithAny.ts, 1, 11))
|
|
>callback : Symbol(callback, Decl(promiseIdentityWithAny.ts, 1, 15))
|
|
>x : Symbol(x, Decl(promiseIdentityWithAny.ts, 1, 26))
|
|
>T : Symbol(T, Decl(promiseIdentityWithAny.ts, 0, 19))
|
|
>IPromise : Symbol(IPromise, Decl(promiseIdentityWithAny.ts, 0, 0))
|
|
>U : Symbol(U, Decl(promiseIdentityWithAny.ts, 1, 9))
|
|
>W : Symbol(W, Decl(promiseIdentityWithAny.ts, 1, 11))
|
|
>IPromise : Symbol(IPromise, Decl(promiseIdentityWithAny.ts, 0, 0))
|
|
>U : Symbol(U, Decl(promiseIdentityWithAny.ts, 1, 9))
|
|
>W : Symbol(W, Decl(promiseIdentityWithAny.ts, 1, 11))
|
|
}
|
|
interface Promise<T, V> {
|
|
>Promise : Symbol(Promise, Decl(promiseIdentityWithAny.ts, 2, 1))
|
|
>T : Symbol(T, Decl(promiseIdentityWithAny.ts, 3, 18))
|
|
>V : Symbol(V, Decl(promiseIdentityWithAny.ts, 3, 20))
|
|
|
|
then<U, W>(callback: (x: T) => Promise<any, any>): Promise<any, any>;
|
|
>then : Symbol(then, Decl(promiseIdentityWithAny.ts, 3, 25))
|
|
>U : Symbol(U, Decl(promiseIdentityWithAny.ts, 4, 9))
|
|
>W : Symbol(W, Decl(promiseIdentityWithAny.ts, 4, 11))
|
|
>callback : Symbol(callback, Decl(promiseIdentityWithAny.ts, 4, 15))
|
|
>x : Symbol(x, Decl(promiseIdentityWithAny.ts, 4, 26))
|
|
>T : Symbol(T, Decl(promiseIdentityWithAny.ts, 3, 18))
|
|
>Promise : Symbol(Promise, Decl(promiseIdentityWithAny.ts, 2, 1))
|
|
>Promise : Symbol(Promise, Decl(promiseIdentityWithAny.ts, 2, 1))
|
|
}
|
|
|
|
// Should be ok because signature type parameters get erased to any
|
|
var x: IPromise<string, number>;
|
|
>x : Symbol(x, Decl(promiseIdentityWithAny.ts, 8, 3), Decl(promiseIdentityWithAny.ts, 9, 3))
|
|
>IPromise : Symbol(IPromise, Decl(promiseIdentityWithAny.ts, 0, 0))
|
|
|
|
var x: Promise<string, boolean>;
|
|
>x : Symbol(x, Decl(promiseIdentityWithAny.ts, 8, 3), Decl(promiseIdentityWithAny.ts, 9, 3))
|
|
>Promise : Symbol(Promise, Decl(promiseIdentityWithAny.ts, 2, 1))
|
|
|