Skip to content

No error for setter with self-referential, implicit any argument #48432

Closed

Description

Bug Report

A setter can have an argument with a self-referential annotation, and this argument will implicitly have type any, with TS producing no errors for it.

🔎 Search Terms

setter, implicit any

🕗 Version & Regression Information

As far back as 4.3 (when we first let setters/getters in type literals).

⏯ Playground Link

Playground link with relevant code

💻 Code

declare var y: {
    set prop2(arg: typeof y.prop2);
};

🙁 Actual behavior

We don't get any errors, even with noImplicitAny set.
But arg has implicitly type any, because its type annotation refers to the type of the setter itself, and there are no getters.

🙂 Expected behavior

An error on prop2 or arg, at least under noImplicitAny.

Activity

  1. ahejlsberg commented on Mar 27, 2022

    @ahejlsberg
    Member

    Actually, an error is reported, but the error message is misleading and is reported as a global error because the logic attempts to report on the get accessor, but there isn't one. So, several things are wrong here.

  2. locked as resolved and limited conversation to collaborators on Oct 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

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