Open
Description
Bug Report
π Search Terms
Circular type parameter constraint, intellisense.
Related - #40439
π Version & Regression Information
Tested with version 4.3.2
β― Playground Link
π» Code
declare const m: <T extends M<T>>(m: T) => T
type M<Self, K = Exclude<keyof Self, "k">> =
{ a?: number
, b?: number
, c?: number
, d?: number
, k?: K
}
// :)
m({
a: 1,
b: 2,
x: 3,
// expected suggesstions: c, d, k
// actual suggesstions: c, d, k
})
// :(
m({
a: 1,
b: 2,
x: 3,
k: "a",
// expected suggesstions: c, d
// actual suggesstions: none
})
π Actual behavior
In second function call, intellisense suggested no properties
π Expected behavior
In second function call, intellisense should suggest properties c
and d