TypeScript/tests/baselines/reference/promiseIdentityWithConstraints.symbols
2015-04-15 16:44:20 -07:00

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))