Skip to content

New parameter implicit any error with latest nightlyΒ #52198

@mjbvz

Description

@mjbvz

Bug Report

from #52148 (comment)

πŸ”Ž Search Terms

  • Implicit any
  • parameter

πŸ•— Version & Regression Information

  • This changed between versions 4.9.4 and 5.0.0-dev.20230111

⏯ Playground Link

https://www.typescriptlang.org/play?ts=5.0.0-dev.20230111#code/CYUwxgNghgTiAEAzArgOzAFwJYHtXzDigxAElUBnDKdEAHgGEMcZ4QAPE1YC+VEAO7wAFADpxsAOYUAXPBoBPANoBdAJTwAvAD55qBQBp4AJTacQ3XuSo0wIACoKADvSYtt24ZhZy3MI+KiUrLwDHhUMMjeMAAKsFAAtiAkMBSMzDDaanLGANwAUPkcTiwY8FioKYhQdvCkALIWyADqLADWAEYWYAAW9jg4EABCsADyTtjh8ADe+fDz8MyDHWMTuJRyswvbSAPCKzByERWS2fDHqJJzCwC+BTeFkFAUvI2oLe1d6H0Dw7Az13mYHCGEi0WEgJ2ODW4TkDSarRgnW6P0GIxg40mlHgAB94GhQIgKiBgAZIRppvAHg98oQQMQyJRqLRhG8Pkivr1+mjYEYtgslhADpj1iF+Ttdjh9rAKfA4BhkDB8AdclTIdS1LkgA

πŸ’» Code

declare function createInstance<Ctor extends new (...args: any[]) => any, R extends InstanceType<Ctor>>(ctor: Ctor, ...args: ConstructorParameters<Ctor>): R;

export interface IMenuWorkbenchToolBarOptions {
    toolbarOptions: {
        foo(bar: string): string
    };
}

class MenuWorkbenchToolBar {
    constructor(
        options: IMenuWorkbenchToolBarOptions | undefined,
    ) { }
}

createInstance(MenuWorkbenchToolBar, {
    toolbarOptions: {
        foo(bar) { return bar; } // error here
    }
});

πŸ™ Actual behavior

bar implicitly has an any type

πŸ™‚ Expected behavior

bar should be inferred to be a string

/cc @RyanCavanaugh

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptFix AvailableA PR has been opened for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions