What's the difference between extern fn and extern "C" fn in Rust? : <p>I've tried reading various github issues trying to track down what the difference is and just ended up confused.</p>

<pre><code>#[no_mangle]
pub extern fn foo() {
   ...
}
</code></pre>

<p>vs.</p>

<pre><code>#[no_mangle]
pub extern "C" fn foo() {
   ...
}
</code></pre>
