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
|
=== tests/cases/compiler/parameterReferenceInInitializer1.ts ===
function fn<a>(y: Y, set: (y: Y, x: number) => void): a {
>fn : <a>(y: Y, set: (y: Y, x: number) => void) => a
>y : Y
>set : (y: Y, x: number) => void
>y : Y
>x : number
return undefined;
>undefined : undefined
}
interface Y { x: number }
>x : number
class C {
>C : C
constructor(
y: Y,
>y : Y
public x = fn(y, (y, x) => y.x = x) // expected to work, but actually doesn't
>x : unknown
>fn(y, (y, x) => y.x = x) : unknown
>fn : <a>(y: Y, set: (y: Y, x: number) => void) => a
>y : Y
>(y, x) => y.x = x : (y: Y, x: number) => number
>y : Y
>x : number
>y.x = x : number
>y.x : number
>y : Y
>x : number
>x : number
) {
}
}
|