Microsoft/TypeScript

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

開放

#48,663 建立於 2022年4月13日

 (4 則留言) (3 個反應) (0 位負責人)TypeScript (13,395 個分叉)batch import
BugDomain: check: Variance RelationshipsHelp Wanted

倉庫指標

星標
 (108,860 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

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

貢獻者指南