<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="    obj a() { }
    let b = obj() { with a() };"><pre class="notranslate"><code class="notranslate">    obj a() { }
    let b = obj() { with a() };
</code></pre></div>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="rt: 4d8e:main:main:                   upcall fail 'Assertion !cx.terminated failed', ../src/comp/middle/trans_build.rs:34
rt: 4d8e:main:                        domain main @0x8999640 root task failed"><pre class="notranslate"><code class="notranslate">rt: 4d8e:main:main:                   upcall fail 'Assertion !cx.terminated failed', ../src/comp/middle/trans_build.rs:34
rt: 4d8e:main:                        domain main @0x8999640 root task failed
</code></pre></div>
<p dir="auto">As opposed to this:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="    obj a() { }
    let c = a();
    let b = obj() { with c };"><pre class="notranslate"><code class="notranslate">    obj a() { }
    let c = a();
    let b = obj() { with c };
</code></pre></div>
<p dir="auto">Right now, you can get errors like "a type named <code class="notranslate">Primitive</code> has already been imported in this module", which isn't very helpful. The error message would be much more helpful if it would tell you which line the other <code class="notranslate">Primitive</code> type was imported on.</p>