Microsoft/TypeScript
在 GitHub 查看Annotated parameters are not used for inferring rest parameters
Open
#58,746 创建于 2024年6月3日
Domain: check: Type InferenceHelp WantedPossible Improvement
仓库指标
- Star
- (48,455 star)
- PR 合并指标
- (平均合并 6天 17小时) (30 天内合并 9 个 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