<p dir="auto">Code like</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="let i : i64 = 0;"><pre class="notranslate"><code class="notranslate">let i : i64 = 0;
</code></pre></div>
<p dir="auto">will fail to compile on 32-bit machines, because the type <code class="notranslate">int</code> is 32-bits, but succeed on 64-bit builds because there <code class="notranslate">int</code> and <code class="notranslate">i64</code> are the same. It'd be nice if the compiler could report cases where we're assuming particular sizes for <code class="notranslate">int</code> or <code class="notranslate">uint</code> so we don't get bit by cross-platform build failures later.</p>
<p dir="auto">Right now i64 unifies with int on 64-bit platforms, etc, and it's a source of errors like in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/rust-lang/rust/commit/d65df5d4d4a1d46434944482ae92bf1b162c6985/hovercard" href="https://github.com/rust-lang/rust/commit/d65df5d4d4a1d46434944482ae92bf1b162c6985"><tt>d65df5d</tt></a>. I believe they should be different types.</p>