Closed

Description
TypeScript Version: 2.9.0-dev.20180510
Code
type Loop<T, U extends Loop<T, U>> = {
[P in keyof T]: U[P] extends boolean ? number : string;
};
RangeError: Maximum call stack size exceeded
at isDeclarationNameOrImportPropertyName (/home/andy/.nvm/versions/node/v9.9.0/lib/node_modules/typescript/lib/tsc.js:43113:51)
at getSymbolAtLocation (/home/andy/.nvm/versions/node/v9.9.0/lib/node_modules/typescript/lib/tsc.js:41177:17)
at getTypeFromTypeNode (/home/andy/.nvm/versions/node/v9.9.0/lib/node_modules/typescript/lib/tsc.js:28617:34)
at containsReference (/home/andy/.nvm/versions/node/v9.9.0/lib/node_modules/typescript/lib/tsc.js:28813:29)
at visitNode (/home/andy/.nvm/versions/node/v9.9.0/lib/node_modules/typescript/lib/tsc.js:11634:24)
at Object.forEachChild (/home/andy/.nvm/versions/node/v9.9.0/lib/node_modules/typescript/lib/tsc.js:11750:24)
at containsReference (/home/andy/.nvm/versions/node/v9.9.0/lib/node_modules/typescript/lib/tsc.js:28817:27)
at visitNode (/home/andy/.nvm/versions/node/v9.9.0/lib/node_modules/typescript/lib/tsc.js:11634:24)
at Object.forEachChild (/home/andy/.nvm/versions/node/v9.9.0/lib/node_modules/typescript/lib/tsc.js:11781:24)
at containsReference (/home/andy/.nvm/versions/node/v9.9.0/lib/node_modules/typescript/lib/tsc.js:28817:27)
Discovered in react-redux
on DefinitelyTyped. Thanks @Flarna for pointing that out in DefinitelyTyped/DefinitelyTyped#25664 (comment)