1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
//// [recursiveGenericUnionType1.ts]
declare module Test1 {
export type Container<T> = T | {
[i: string]: Container<T>;
};
export type IStringContainer = Container<string>;
}
declare module Test2 {
export type Container<T> = T | {
[i: string]: Container<T>;
};
export type IStringContainer = Container<string>;
}
var x: Test1.Container<number>;
var s1: Test1.IStringContainer;
var s2: Test2.IStringContainer;
s1 = s2;
s2 = s1;
//// [recursiveGenericUnionType1.js]
var x;
var s1;
var s2;
s1 = s2;
s2 = s1;
|