<p dir="auto">Trying to compile the following code results in rustc stack overflowing</p>
<div class="highlight highlight-source-rust notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="#[no_std];
#[lang=&quot;start&quot;] fn main() {}"><pre class="notranslate"><span class="pl-c1">#<span class="pl-kos">[</span>no_std<span class="pl-kos">]</span></span><span class="pl-kos">;</span>
<span class="pl-c1">#<span class="pl-kos">[</span>lang=<span class="pl-s">"start"</span><span class="pl-kos">]</span></span> <span class="pl-k">fn</span> <span class="pl-en">main</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span><span class="pl-kos">}</span></pre></div>
<p dir="auto">Tested using Rust 0.9. Other people on IRC reported they receive the same issue with master.</p>
<p dir="auto">These aren't currently well-defined by the language.  If you define anything with a somewhat matching LLVM signature, it will compile. Not only does it not care about the type signatures matching what it expects, there is no handling for these being defined on the wrong types of AST nodes.</p>