=== tests/cases/compiler/funduleUsedAcrossFileBoundary_file1.ts ===
declare function Q<T>(value: T): string;
>Q : Symbol(Q, Decl(funduleUsedAcrossFileBoundary_file1.ts, 0, 0), Decl(funduleUsedAcrossFileBoundary_file1.ts, 0, 40))
>T : Symbol(T, Decl(funduleUsedAcrossFileBoundary_file1.ts, 0, 19))
>value : Symbol(value, Decl(funduleUsedAcrossFileBoundary_file1.ts, 0, 22))
>T : Symbol(T, Decl(funduleUsedAcrossFileBoundary_file1.ts, 0, 19))

declare module Q {
>Q : Symbol(Q, Decl(funduleUsedAcrossFileBoundary_file1.ts, 0, 0), Decl(funduleUsedAcrossFileBoundary_file1.ts, 0, 40))

    interface Promise<T> {
>Promise : Symbol(Promise, Decl(funduleUsedAcrossFileBoundary_file1.ts, 1, 18))
>T : Symbol(T, Decl(funduleUsedAcrossFileBoundary_file1.ts, 2, 22))

        foo: string;
>foo : Symbol(foo, Decl(funduleUsedAcrossFileBoundary_file1.ts, 2, 26))
    }
    export function defer<T>(): string;
>defer : Symbol(defer, Decl(funduleUsedAcrossFileBoundary_file1.ts, 4, 5))
>T : Symbol(T, Decl(funduleUsedAcrossFileBoundary_file1.ts, 5, 26))
}

=== tests/cases/compiler/funduleUsedAcrossFileBoundary_file2.ts ===
function promiseWithCancellation<T>(promise: Q.Promise<T>) {
>promiseWithCancellation : Symbol(promiseWithCancellation, Decl(funduleUsedAcrossFileBoundary_file2.ts, 0, 0))
>T : Symbol(T, Decl(funduleUsedAcrossFileBoundary_file2.ts, 0, 33))
>promise : Symbol(promise, Decl(funduleUsedAcrossFileBoundary_file2.ts, 0, 36))
>Q : Symbol(Q, Decl(funduleUsedAcrossFileBoundary_file1.ts, 0, 0), Decl(funduleUsedAcrossFileBoundary_file1.ts, 0, 40))
>Promise : Symbol(Q.Promise, Decl(funduleUsedAcrossFileBoundary_file1.ts, 1, 18))
>T : Symbol(T, Decl(funduleUsedAcrossFileBoundary_file2.ts, 0, 33))

    var deferred = Q.defer<T>(); // used to be an error
>deferred : Symbol(deferred, Decl(funduleUsedAcrossFileBoundary_file2.ts, 1, 7))
>Q.defer : Symbol(Q.defer, Decl(funduleUsedAcrossFileBoundary_file1.ts, 4, 5))
>Q : Symbol(Q, Decl(funduleUsedAcrossFileBoundary_file1.ts, 0, 0), Decl(funduleUsedAcrossFileBoundary_file1.ts, 0, 40))
>defer : Symbol(Q.defer, Decl(funduleUsedAcrossFileBoundary_file1.ts, 4, 5))
>T : Symbol(T, Decl(funduleUsedAcrossFileBoundary_file2.ts, 0, 33))
}
