54 lines
3 KiB
Plaintext
54 lines
3 KiB
Plaintext
=== tests/cases/compiler/promiseIdentityWithConstraints.ts ===
|
|
interface IPromise<T, V> {
|
|
>IPromise : Symbol(IPromise, Decl(promiseIdentityWithConstraints.ts, 0, 0))
|
|
>T : Symbol(T, Decl(promiseIdentityWithConstraints.ts, 0, 19))
|
|
>V : Symbol(V, Decl(promiseIdentityWithConstraints.ts, 0, 21))
|
|
|
|
then<U extends T, W extends V>(callback: (x: T) => IPromise<U, W>): IPromise<U, W>;
|
|
>then : Symbol(then, Decl(promiseIdentityWithConstraints.ts, 0, 26))
|
|
>U : Symbol(U, Decl(promiseIdentityWithConstraints.ts, 1, 9))
|
|
>T : Symbol(T, Decl(promiseIdentityWithConstraints.ts, 0, 19))
|
|
>W : Symbol(W, Decl(promiseIdentityWithConstraints.ts, 1, 21))
|
|
>V : Symbol(V, Decl(promiseIdentityWithConstraints.ts, 0, 21))
|
|
>callback : Symbol(callback, Decl(promiseIdentityWithConstraints.ts, 1, 35))
|
|
>x : Symbol(x, Decl(promiseIdentityWithConstraints.ts, 1, 46))
|
|
>T : Symbol(T, Decl(promiseIdentityWithConstraints.ts, 0, 19))
|
|
>IPromise : Symbol(IPromise, Decl(promiseIdentityWithConstraints.ts, 0, 0))
|
|
>U : Symbol(U, Decl(promiseIdentityWithConstraints.ts, 1, 9))
|
|
>W : Symbol(W, Decl(promiseIdentityWithConstraints.ts, 1, 21))
|
|
>IPromise : Symbol(IPromise, Decl(promiseIdentityWithConstraints.ts, 0, 0))
|
|
>U : Symbol(U, Decl(promiseIdentityWithConstraints.ts, 1, 9))
|
|
>W : Symbol(W, Decl(promiseIdentityWithConstraints.ts, 1, 21))
|
|
}
|
|
interface Promise<T, V> {
|
|
>Promise : Symbol(Promise, Decl(promiseIdentityWithConstraints.ts, 2, 1))
|
|
>T : Symbol(T, Decl(promiseIdentityWithConstraints.ts, 3, 18))
|
|
>V : Symbol(V, Decl(promiseIdentityWithConstraints.ts, 3, 20))
|
|
|
|
then<U extends T, W extends V>(callback: (x: T) => Promise<U, W>): Promise<U, W>;
|
|
>then : Symbol(then, Decl(promiseIdentityWithConstraints.ts, 3, 25))
|
|
>U : Symbol(U, Decl(promiseIdentityWithConstraints.ts, 4, 9))
|
|
>T : Symbol(T, Decl(promiseIdentityWithConstraints.ts, 3, 18))
|
|
>W : Symbol(W, Decl(promiseIdentityWithConstraints.ts, 4, 21))
|
|
>V : Symbol(V, Decl(promiseIdentityWithConstraints.ts, 3, 20))
|
|
>callback : Symbol(callback, Decl(promiseIdentityWithConstraints.ts, 4, 35))
|
|
>x : Symbol(x, Decl(promiseIdentityWithConstraints.ts, 4, 46))
|
|
>T : Symbol(T, Decl(promiseIdentityWithConstraints.ts, 3, 18))
|
|
>Promise : Symbol(Promise, Decl(promiseIdentityWithConstraints.ts, 2, 1))
|
|
>U : Symbol(U, Decl(promiseIdentityWithConstraints.ts, 4, 9))
|
|
>W : Symbol(W, Decl(promiseIdentityWithConstraints.ts, 4, 21))
|
|
>Promise : Symbol(Promise, Decl(promiseIdentityWithConstraints.ts, 2, 1))
|
|
>U : Symbol(U, Decl(promiseIdentityWithConstraints.ts, 4, 9))
|
|
>W : Symbol(W, Decl(promiseIdentityWithConstraints.ts, 4, 21))
|
|
}
|
|
|
|
// Error because constraint V doesn't match
|
|
var x: IPromise<string, number>;
|
|
>x : Symbol(x, Decl(promiseIdentityWithConstraints.ts, 8, 3), Decl(promiseIdentityWithConstraints.ts, 9, 3))
|
|
>IPromise : Symbol(IPromise, Decl(promiseIdentityWithConstraints.ts, 0, 0))
|
|
|
|
var x: Promise<string, boolean>;
|
|
>x : Symbol(x, Decl(promiseIdentityWithConstraints.ts, 8, 3), Decl(promiseIdentityWithConstraints.ts, 9, 3))
|
|
>Promise : Symbol(Promise, Decl(promiseIdentityWithConstraints.ts, 2, 1))
|
|
|