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 33 34 35 36 37 38 39
|
=== tests/cases/compiler/assignmentStricterConstraints.ts ===
var f = function <T, S extends T>(x: T, y: S): void {
>f : <T, S extends T>(x: T, y: S) => void
>function <T, S extends T>(x: T, y: S): void { x = y} : <T, S extends T>(x: T, y: S) => void
>T : T
>S : S
>T : T
>x : T
>T : T
>y : S
>S : S
x = y
>x = y : S
>x : T
>y : S
}
var g = function <T, S>(x: T, y: S): void { }
>g : <T, S>(x: T, y: S) => void
>function <T, S>(x: T, y: S): void { } : <T, S>(x: T, y: S) => void
>T : T
>S : S
>x : T
>T : T
>y : S
>S : S
g = f
>g = f : <T, S extends T>(x: T, y: S) => void
>g : <T, S>(x: T, y: S) => void
>f : <T, S extends T>(x: T, y: S) => void
g(1, "")
>g(1, "") : void
>g : <T, S>(x: T, y: S) => void
>1 : 1
>"" : ""
|