B расширяет универсальный класс A. Мне нужно иметь возможность вывести универсальный тип расширенного A из B. См. Код ниже.
Я успешно использовал это в предыдущих версиях Typescript, но для моего текущего проекта, использующего 3.2.4 (также пробовал последнюю версию 3.4.5), выводимый тип, по-видимому, дает {}
вместо string
.
Есть идеи, что я делаю не так? Это не могло измениться?
class A<T> {
}
class B extends A<string> {
}
type GenericOf<T> = T extends A<infer X> ? X : never;
type t = GenericOf<B>; // results in {}, expected string