16 lines
362 B
TypeScript
16 lines
362 B
TypeScript
//// [recursiveIdenticalAssignment.ts]
|
|
interface A<T> {
|
|
x: A<T>
|
|
}
|
|
|
|
interface B<T extends B<B<T>>> { // error, constraint referencing itself
|
|
x: B<T>
|
|
}
|
|
|
|
var a: A<A<any>>
|
|
var b: B<B<any>> = a // Error, any does not satisfy constraint B<B<T>>
|
|
|
|
|
|
//// [recursiveIdenticalAssignment.js]
|
|
var a;
|
|
var b = a; // Error, any does not satisfy constraint B<B<T>>
|