<p dir="auto"><code class="notranslate">&amp;mut</code> can alias with <code class="notranslate">&amp;const</code>, <code class="notranslate">@mut</code>, other types like <code class="notranslate">@mut</code> that allow a <code class="notranslate">&amp;mut</code> borrow while still allowing reads and closures containing captured aliases.</p>
<p dir="auto">This is blocked on <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="28011414" data-permission-text="Title is private" data-url="https://github.com/rust-lang/rust/issues/12429" data-hovercard-type="issue" data-hovercard-url="/rust-lang/rust/issues/12429/hovercard" href="https://github.com/rust-lang/rust/issues/12429">#12429</a>, at least when it comes to function signatures. Since <code class="notranslate">@mut T</code> and <code class="notranslate">&amp;const T</code> are gone, there are currently never aliases of an <code class="notranslate">&amp;mut T</code> <em>parameter</em> in sound code.</p>