1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
=== tests/cases/conformance/es6/classExpressions/typeArgumentInferenceWithClassExpression2.ts ===
function foo<T>(x = class { prop: T }): T {
>foo : <T>(x?: typeof (Anonymous class)) => T
>x : typeof (Anonymous class)
>class { prop: T } : typeof (Anonymous class)
>prop : T
return undefined;
>undefined : undefined
}
// Should not infer string because it is a static property
foo(class { static prop = "hello" }).length;
>foo(class { static prop = "hello" }).length : any
>foo(class { static prop = "hello" }) : any
>foo : <T>(x?: typeof (Anonymous class)) => T
>class { static prop = "hello" } : typeof (Anonymous class)
>prop : string
>"hello" : "hello"
>length : any
|