Bug报告
🔎 搜索词
- union类型
🕗 版本与回归信息
- bug存在于4.2版本
- 在4.1版本中正常工作
⏯ Playground链接
https://www.typescriptlang.org/play?target=5&jsx=0&ts=4.2.3#code/FAFwngDgpgBAogSxACygJwPIGsA8AlKAZwFcAbEAPhgF4YBvGcaALhgCI4BJAFQAk48AfQwBpNgG4YaImRCsCJcjBgBfUJFiIU6OGjQB7NDl0G0VWgyZRWHHvyEC8GPBKkzyrE4bVX4SVEYKsgA08HqG5n7amLhB5FQAPlEBXkapFMDAAMb6AHaEIDBQ-jrhaDQwONwUABTopqzcAJSeJWipVeZUNXTAAJBWNlx8AoKOzmzB-dKKckVlUypNmTn5hQBmxLlZAIwVNS3J6Di5xAC2AEbooRw7bF30-QD0TzDEhAi5AOYwqKTQ5U22xACDyMAu0gAhlhCIxUIwNDBPut0FBtlBQkgkbDkaiACYwSGwgpoT5faZQEDENC5IptVI1W5sZZqbJ5AowIFZABM+0OWgCJ3OVzQNzgdwevT6LxgeIQ0iyIFIYDcVJpZLhsH0FwAVlBFTAAO6GGEUtW0qUDDRDOyjcYuKZ9PozWRDO6OtSs1YcrkAZj5rWiQsu13Y4vuNCoUpl7w1AAMiTBvSA40aTYQzdTacVogymYTYcmWSt2RstlkACwBo7tMo4JmS56vQ2oWmx76amsdOBURPSc0I6CYtZQSEE-TrGv4UI9zGFSGkQj6NNoU3OylZum5sqM8MsmDAIA
当使用union类型与辅助函数构造其中一个类型时,该类型的类型从 string value type
错误地松散到 string
(func1)。直接返回形状(func2)或使用 as const
(func3)可以修复它。此外,在简化并删除union(func4)时,它也开始工作。
这个问题在4.1版本中不存在,仅在4.2版本中出现错误。
5条答案
按热度按时间f87krz0w1#
这个bug是由#42038引起的。@ahejlsberg可能需要看一下。
在PR之前,
{ type: "EITHER_OK", result: number }
部分从推断候选集中移除,T被示例化为"E1"
。von4xj4u2#
我想调查一下。可以吗?
m1m5dgzv3#
当然。
r8xiu3jd4#
@Zzzen ,谢谢你。我会看一下的。
8fsztsew5#
不确定是否是相同的错误,但症状相似 - ts playground