I have the following code:
abstract class Foo<T extends { data: string }> {
abstract doSomething(params: T): void;
}
class Baz extends Foo<{ id: string; data: string }> {
doSomething(params) {}
}
My expectation is that when implementing the doSomething method it'll automatically infer the params as T, but it infers it as any. Am I wrong?