我正在使用Typescript 3.0.1。在下面的代码中,为什么第7行没有编译器错误?我之前也有这种行为;这是否已从Typescript中删除或存在某种奇怪的回归?
type A = {type :"a"}
type B = {type :"b"}
type Any = A | B
function get<T extends Any>(x: T["type"]): T|undefined {
switch (x) {
case "x": return undefined
default: return undefined
}
}