Skip to content

[no-unused-vars] False positive for a class in declared namespace #937

Closed
@mrlika

Description

@mrlika

Repro

{
  "rules": {
    "@typescript-eslint/no-unused-vars": ["error"]
  }
}
declare namespace shaka {
    class Player {
        public constructor();
        public destroy(): Promise<void>;
    }
}
export class C {
    public player: shaka.Player;

    public constructor() {
        this.player = new shaka.Player();
    }
}

Expected Result

No errors

Actual Result

error 'Player' is defined but never used @typescript-eslint/no-unused-vars

Additional Info

Very similar code but without namespace has no issues:

declare class Player {
    public constructor();
    public destroy(): Promise<void>;
}

export class C {
    public player: Player;

    public constructor() {
        this.player = new Player();
    }
}

Versions

package version
@typescript-eslint/eslint-plugin 2.0.0
@typescript-eslint/parser 2.0.0
TypeScript 3.5.3
ESLint 6.2.0
node 11.14.0
npm 6.7.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghas prthere is a PR raised to close thispackage: eslint-pluginIssues related to @typescript-eslint/eslint-pluginscope analyserIssues that are caused by bugs/incomplete cases in the scope analyser

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions