<h3 dir="auto">What problem does this feature solve?</h3>
<p dir="auto">If you have a duplicate key in v-for or a key that isn't a primitive type, you get a helpful warning in the console in development mode. But if you spell the key name wrong <code class="notranslate">:key="object.typ"</code> instead of <code class="notranslate">:key="object.type"</code>, the <code class="notranslate">key</code> becomes undefined and there's no warning or error, even though all keys are undefined and therefore duplicates.</p>
<h3 dir="auto">What does the proposed API look like?</h3>
<p dir="auto">Same API but with browser console error like is shown for other v-for key errors.</p>
<h3 dir="auto">Version</h3>
<h3 dir="auto">Reproduction link</h3>
<p dir="auto"><a href="https://codesandbox.io/embed/vue2-sfc-playground-forked-32ii7p?fontsize=14&amp;hidenavigation=1&amp;theme=dark" rel="nofollow">codesandbox.io</a></p>
<h3 dir="auto">Steps to reproduce</h3>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import Vue from &quot;vue&quot;;

const a = [1, 2, 3];
Vue.set(a, 1, 100);   // Cannot read properties of undefined (reading 'shallow')"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-v">Vue</span> <span class="pl-k">from</span> <span class="pl-s">"vue"</span><span class="pl-kos">;</span>

<span class="pl-k">const</span> <span class="pl-s1">a</span> <span class="pl-c1">=</span> <span class="pl-kos">[</span><span class="pl-c1">1</span><span class="pl-kos">,</span> <span class="pl-c1">2</span><span class="pl-kos">,</span> <span class="pl-c1">3</span><span class="pl-kos">]</span><span class="pl-kos">;</span>
<span class="pl-v">Vue</span><span class="pl-kos">.</span><span class="pl-en">set</span><span class="pl-kos">(</span><span class="pl-s1">a</span><span class="pl-kos">,</span> <span class="pl-c1">1</span><span class="pl-kos">,</span> <span class="pl-c1">100</span><span class="pl-kos">)</span><span class="pl-kos">;</span>   <span class="pl-c">// Cannot read properties of undefined (reading 'shallow')</span></pre></div>
<h3 dir="auto">What is expected?</h3>
<p dir="auto">Set the array element by index.</p>
<h3 dir="auto">What is actually happening?</h3>
<p dir="auto">Error occured.</p>
<hr>
<p dir="auto">Introduced in 2.7.3 with commit</p>
<p dir="auto"><a class="commit-link" href="https://github.com/vuejs/vue/commit/360272bde32e93b1a8d611e4b97af1300c38e7a3#diff-2e26135213b820cfd0eaba327405d14d405a4eee7d14a5c4acfcc2c84ef14692R244"><tt>360272b</tt>#diff-2e26135213b820cfd0eaba327405d14d405a4eee7d14a5c4acfcc2c84ef14692R244</a></p>