Closed
Description
TypeScript Version: 3.3.0-dev.20190125
Search Terms:
It works in 3.1.6, but in 3.2 and 3.3 it gives any
Code
export type Transform<T> = { [K in keyof T]: Transform<T[K]> };
interface User {
avatar: string;
}
interface Guest {
displayName: string;
}
interface Product {
users: (User | Guest)[];
}
declare var product:Transform<Product>;
product.users // any[]
Expected behavior:
Transform<(User | Guest)>[]
Actual behavior:
any[]