<p dir="auto">Currently when users use words that can't be use as an identifier (this case will be more common as module  and class becomes strict mode code), we should then have better binding diagnostics to report this error instead of <code class="notranslate">Duplicate identifier '(Missing)'.</code></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="interface Struct {
  a: boolean
  b: number
}
let v1: Struct = {a: true, b:1}
let v2: Struct = Object.assign({}, v1, {
  b: false
})"><pre class="notranslate"><code class="notranslate">interface Struct {
  a: boolean
  b: number
}
let v1: Struct = {a: true, b:1}
let v2: Struct = Object.assign({}, v1, {
  b: false
})
</code></pre></div>
<p dir="auto"><code class="notranslate">v2</code> variable now contains <code class="notranslate">{a: true, b: false}</code>, which is definetely not <code class="notranslate">Struct</code> type. But there is no compile-time error there. How come?</p>