tests/cases/compiler/promiseIdentityWithAny.ts(10,5): error TS2403: Subsequent variable declarations must have the same type.  Variable 'x' must be of type 'IPromise<string, number>', but here has type 'Promise<string, boolean>'.


==== tests/cases/compiler/promiseIdentityWithAny.ts (1 errors) ====
    export interface IPromise<T, V> {
        then<U, W>(callback: (x: T) => IPromise<U, W>): IPromise<U, W>;
    }
    export interface Promise<T, V> {
        then<U, W>(callback: (x: T) => Promise<any, any>): Promise<any, any>;
    }
    
    // Should be ok because signature type parameters get erased to any
    var x: IPromise<string, number>;
    var x: Promise<string, boolean>;
        ~
!!! error TS2403: Subsequent variable declarations must have the same type.  Variable 'x' must be of type 'IPromise<string, number>', but here has type 'Promise<string, boolean>'.
!!! related TS6203 tests/cases/compiler/promiseIdentityWithAny.ts:9:5: 'x' was also declared here.