16 lines
592 B
JavaScript
16 lines
592 B
JavaScript
//// [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
|