TypeScript/tests/baselines/reference/infiniteExpansionThroughInstantiation2.js

17 lines
592 B
TypeScript

//// [infiniteExpansionThroughInstantiation2.ts]
// instantiating a derived type can cause an infinitely expanding type reference to be generated
// which could be used in an assignment check for constraint satisfaction
interface AA<T extends AA<T>> // now an error due to referencing type parameter in constraint
{
x: T
}
interface BB extends AA<AA<BB>>
{
}
//// [infiniteExpansionThroughInstantiation2.js]
// instantiating a derived type can cause an infinitely expanding type reference to be generated
// which could be used in an assignment check for constraint satisfaction