2014-07-13 01:04:16 +02:00
|
|
|
//// [assignmentCompatWithGenericCallSignatures4.ts]
|
|
|
|
// some complex cases of assignment compat of generic signatures.
|
|
|
|
|
|
|
|
interface I2<T> {
|
|
|
|
p: T
|
|
|
|
}
|
|
|
|
|
|
|
|
var x: <T extends I2<T>>(z: T) => void
|
|
|
|
var y: <T extends I2<I2<T>>>(z: T) => void
|
|
|
|
|
|
|
|
// These both do not make sense as we would eventually be comparing I2<T> to I2<I2<T>>, and they are self referencing anyway
|
|
|
|
x = y
|
|
|
|
y = x
|
|
|
|
|
|
|
|
|
|
|
|
//// [assignmentCompatWithGenericCallSignatures4.js]
|
2014-08-19 19:43:13 +02:00
|
|
|
// some complex cases of assignment compat of generic signatures.
|
2014-07-13 01:04:16 +02:00
|
|
|
var x;
|
|
|
|
var y;
|
2014-08-16 00:49:09 +02:00
|
|
|
// These both do not make sense as we would eventually be comparing I2<T> to I2<I2<T>>, and they are self referencing anyway
|
2014-07-13 01:04:16 +02:00
|
|
|
x = y;
|
|
|
|
y = x;
|