1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
=== tests/cases/compiler/comparabilityTypeParametersRelatedByUnion.ts ===
class C<T> {
>C : C<T>
constructor(readonly x: T) {}
>x : T
good<U extends T>(y: U) {
>good : <U extends T>(y: U) => void
>y : U
if (y === this.x) {}
>y === this.x : boolean
>y : U
>this.x : T
>this : this
>x : T
}
bad<U extends T | string>(y: U) {
>bad : <U extends string | T>(y: U) => void
>y : U
if (y === this.x) {}
>y === this.x : boolean
>y : U
>this.x : T
>this : this
>x : T
}
}
|