Microsoft/TypeScript
Annotated parameters are not used for inferring rest parameters
開放
#58,746 建立於 2024年6月3日
Domain: check: Type InferenceHelp WantedPossible Improvement
倉庫指標
- 星標
- (108,860 顆星)
- PR 合併指標
- (PR 指標待抓取)
描述
🔎 Search Terms
annotated, "rest parameter"
🕗 Version & Regression Information
- This is the behavior in every version I tried
⏯ Playground Link
💻 Code
function mkAction<Input extends any[]>(action: {
f1:(...xs:Input) => void,
f2:(...xs:Input) => void,
}) {}
mkAction({
f1(x:string, y:number) {},
f2(x, y) {},
// x and y are inferred as "any",
// even though f2 is inferred as "(x: string, y: number) => void"
});
🙁 Actual behavior
Arguments "x" and "y" are inferred as "any", even though "f2" has the correct type (x: string, y: number) => void
🙂 Expected behavior
I would expect inference of x: string and y: number for the arguments of "f2".
Additional information about the issue
No response