Microsoft/TypeScript

Union tuple type in rest argument can't accpect less argument.

オープン

#48,663 opened on 2022/04/13

 (4 件のコメント) (3 件のリアクション) (0 人の担当者)TypeScript (13,395 件のフォーク)batch import
BugDomain: check: Variance RelationshipsHelp Wanted

Repository metrics

Stars
 (108,860 個のスター)
PR merge metrics
 (PR metrics pending)

説明

Bug Report

🔎 Search Terms

source has but target allows only

🕗 Version & Regression Information

  • This is a crash

⏯ Playground Link

Playground link with relevant code

💻 Code

const func: (...args: [number, string] | [string, number]) => void = (item) => { }

🙁 Actual behavior

throw error

Type '(item: string | number) => void' is not assignable to type '(...args: [number, string] | [string, number]) => void'.
  Types of parameters 'item' and 'args' are incompatible.
    Type '[number, string] | [string, number]' is not assignable to type '[item: string | number]'.
      Type '[number, string]' is not assignable to type '[item: string | number]'.
        Source has 2 element(s) but target allows only 1.

🙂 Expected behavior

no error

コントリビューターガイド