Из того, что я могу сказать, это не результат ни упущений, ни того, что вы сделали. Вы могли бы даже сказать, что это потому, что типы слишком специфичны, но на самом деле это ограничение самой машинописи.
Как упоминается в первом выпуске , проблема заключается в том, какой тип передается литералу объекта при его объявлении (в частности, что полям объекта, содержащим строку, присвоен тип string
, а не их литерал типа).
Это вряд ли когда-нибудь изменится, учитывая, что уже есть не слишком ужасный обходной путь (тип, который вы демонстрируете). Кроме того, из этого вопроса (в нижней части):
У нас нет планов по изменению дизайна на данный момент. у нас уже было
несколько итераций о том, как литеральные типы выводятся и текущий
дизайн, кажется, лучший компромисс, которого мы можем достичь.
Так что, в конечном счете, это то, с чем мы должны жить. ¯ \ _ (ツ) _ / ¯