<!-- 🚨 STOP 🚨 𝗦𝗧𝗢𝗣 🚨 𝑺𝑻𝑶𝑷 🚨 Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker. Even if you think you've found a *bug*, please read the FAQ first, especially the Common "Bugs" That Aren't Bugs section! Please help us by doing the following steps before logging an issue: * Search: https://github.com/Microsoft/TypeScript/search?type=Issues * Read the FAQ: https://github.com/Microsoft/TypeScript/wiki/FAQ Please fill in the *entire* template below. --> **Code** Original code: ```ts function fn(a: number, b: number, ...args: [number, number]) { } fn(1, 2, 3, 4); ``` **Expected behavior:** ```ts function fn({ a, b, args }: { a: number; b: number; args: [number, number]; }) { } fn({ a: 1, b: 2, args: [3, 4] }); ``` **Actual behavior:** After refactoring: ```ts function fn({ a, b, args = [] }: { a: number; b: number; args?: [number, number]; }) { } fn({ a: 1, b: 2, args: [3, 4] }); ``` **Related Issues:** <!-- Did you find other bugs that looked similar? --> https://github.com/Microsoft/TypeScript/issues/30113