Skip to content

Bug: [no-misused-promises] An array of promises passed with spread (...args) syntax is not checked #5744

Closed
@Aaron1011

Description

@Aaron1011

Before You File a Bug Report Please Confirm You Have Done The Following...

  • I have tried restarting my IDE and the issue persists.
  • I have updated to the latest version of the packages.
  • I have searched for related issues and found none that matched my issue.
  • I have read the FAQ and my problem is not listed.

Playground Link

https://typescript-eslint.io/play/#ts=4.8.4&sourceType=module&code=GYVwdgxgLglg9mABBBBnEBbApgCgHQED6EAhgDZkBGJEA1qgFyICCATqyQJ4A8OAlIgC8APkQA3ODAAmwvkwnTEAb0QBfAFDqyWKMkqohiANr8hogAqs4GGKix5WWVHDJjcUViCx8ANIlMiiJbWtvaOzq7unt4AugDc6ihg6Nj4BBD6fEA&eslintrc=N4KABGBEBOCuA2BTAzpAXGUEKQAIBcBPABxQGNoBLY-AWhXkoDt8B6Jge1oFtLlZkiACa1i0Dr0GoMkRNHHRI4MAF8QKoA&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eAcgK6qoDCAFutAGsylBm3TgwAXxCSgA

Repro Code

function consume(..._callbacks: Array<() => void>): void { }

let cbs = [() => Promise.resolve(true), () => Promise.resolve(true)];
consume(...cbs)

ESLint Config

module.exports = {
  parser: "@typescript-eslint/parser",
  rules: {
    "@typescript-eslint/no-misused-promises": "error"
  },
};

tsconfig

No response

Expected Result

I expected that the 4th line should report "Promise returned in function argument where a void return was expected.", just as if I manually called the function with each value from the array (consume(cbs[0], consume(cbs[1]))

Actual Result

There was no error reported on the fourth line.

Additional Info

Handling of 'rest' parameters is implemented in #5731 . However, support for an explicit 'spread' argument still needs to be added.

Versions

package version
@typescript-eslint/eslint-plugin 5.39.0
@typescript-eslint/parser 5.39.0
TypeScript 4.8.4
ESLint 8.15.0
node web

Metadata

Metadata

Assignees

No one assigned

    Labels

    accepting prsGo ahead, send a pull request that resolves this issuebugSomething isn't workinglocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: eslint-pluginIssues related to @typescript-eslint/eslint-plugin

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions