Microsoft/TypeScript

Omitting a property from tuple breaks destruction

Open

#54,371 opened on May 24, 2023

View on GitHub
 (17 comments) (0 reactions) (0 assignees)TypeScript (6,726 forks)batch import
BugDomain: Mapped TypesHelp Wanted

Repository metrics

Stars
 (48,455 stars)
PR merge metrics
 (Avg merge 6d 17h) (9 merged PRs in 30d)

Description

Bug Report

🔎 Search Terms

tuple omit property Searched in Bing and Github issues but I found nothing

🕗 Version & Regression Information

  • This is the behavior in every version I tried

⏯ Playground Link

Link

💻 Code

const foo = [1, "2"] as const
const [a, b] = foo // everything works well, a is number and b is string

const bar = [1, "2"] as Omit<[number, string], "at">
const [c, d] = bar // Oops! c and d are string | number now

🙁 Actual behavior

c and d are both string | number

🙂 Expected behavior

a and b should have correct type

Contributor guide