<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="fn id(x: uint) -&gt; uint { x }

fn main() {
    let c &lt;- fail;
    id(c);
}"><pre class="notranslate"><code class="notranslate">fn id(x: uint) -&gt; uint { x }

fn main() {
    let c &lt;- fail;
    id(c);
}
</code></pre></div>
<p dir="auto">Assertion failed: (getOperand(0)-&gt;getType() == cast(getOperand(1)-&gt;getType())-&gt;getElementType() &amp;&amp; "Ptr must be a pointer to Val type!"), function AssertOK, file Instructions.cpp, line 1065.</p>
<p dir="auto">Here's an example of the bug:</p>
<p dir="auto"><a href="https://gist.github.com/2421363">https://gist.github.com/2421363</a></p>
<p dir="auto">It seems that libraries re-export the ifaces/impls of libraries they're using, which triggers a duplicate symbol error when libraries are used in a diamond shaped pattern.</p>