<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="error: internal compiler error: type_of with ty_projection
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'Box&lt;Any&gt;', /home/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libsyntax/diagnostic.rs:190

stack backtrace:
   1:     0x7fab454c2034 - sys::backtrace::write::he62bcb548164e961YyC
   2:     0x7fab454e7df8 - panicking::on_panic::h3cb4936e695d67bdOGI
   3:     0x7fab4541efaa - rt::unwind::begin_unwind_inner::hfe13dbe91daef70cmnI
   4:     0x7fab428bd41d - rt::unwind::begin_unwind::h10911018176195016387
   5:     0x7fab428bdc65 - diagnostic::Handler::bug::h3c5d38abd490322elgB
   6:     0x7fab432d507b - session::Session::bug::h23eaba6d447e27ca3yn
   7:     0x7fab44b5f17f - trans::type_of::in_memory_type_of::hd518d125e463ffd5lEo
   8:     0x7fab44b5ef41 - trans::type_of::in_memory_type_of::hd518d125e463ffd5lEo
   9:     0x7fab44c61137 - trans::foreign::foreign_signature::h4618e8fc5486898feOB
  10:     0x7fab44c60603 - trans::foreign::foreign_types_for_fn_ty::hbb4f8804cec19fffKPB
  11:     0x7fab44c15e2f - trans::foreign::register_rust_fn_with_foreign_abi::hff88e81da38aeb0f6gB
  12:     0x7fab44b1e905 - trans::base::get_item_val::hfbaf01eba019b69eVnu
  13:     0x7fab44b1bb50 - trans::base::trans_item::h1506a2e4228c48caCSt
  14:     0x7fab44c1859c - trans::base::trans_crate::h6ca4511310a24dc9fPu
  15:     0x7fab45af55c3 - driver::phase_4_translate_to_llvm::h44ad816874743241kOa
  16:     0x7fab45ad11b3 - driver::compile_input::h3bad48bfc23f6006Rba
  17:     0x7fab45b88b02 - run_compiler::haa99afb1c99d7db1x2b
  18:     0x7fab45b8694c - thunk::F.Invoke&lt;A, R&gt;::invoke::h10898031602178947258
  19:     0x7fab45b859d0 - rt::unwind::try::try_fn::h4687345873392121579
  20:     0x7fab45558fc8 - rust_try_inner
  21:     0x7fab45558fb5 - rust_try
  22:     0x7fab45b85e76 - thunk::F.Invoke&lt;A, R&gt;::invoke::h18058446263424162958
  23:     0x7fab454d69f5 - sys::thread::thread_start::h8ed6b7636995fe24B1G
  24:     0x7fab3f39e373 - start_thread
  25:     0x7fab450a027c - __clone
  26:                0x0 - &lt;unknown&gt;"><pre class="notranslate"><code class="notranslate">error: internal compiler error: type_of with ty_projection
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'Box&lt;Any&gt;', /home/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libsyntax/diagnostic.rs:190

stack backtrace:
   1:     0x7fab454c2034 - sys::backtrace::write::he62bcb548164e961YyC
   2:     0x7fab454e7df8 - panicking::on_panic::h3cb4936e695d67bdOGI
   3:     0x7fab4541efaa - rt::unwind::begin_unwind_inner::hfe13dbe91daef70cmnI
   4:     0x7fab428bd41d - rt::unwind::begin_unwind::h10911018176195016387
   5:     0x7fab428bdc65 - diagnostic::Handler::bug::h3c5d38abd490322elgB
   6:     0x7fab432d507b - session::Session::bug::h23eaba6d447e27ca3yn
   7:     0x7fab44b5f17f - trans::type_of::in_memory_type_of::hd518d125e463ffd5lEo
   8:     0x7fab44b5ef41 - trans::type_of::in_memory_type_of::hd518d125e463ffd5lEo
   9:     0x7fab44c61137 - trans::foreign::foreign_signature::h4618e8fc5486898feOB
  10:     0x7fab44c60603 - trans::foreign::foreign_types_for_fn_ty::hbb4f8804cec19fffKPB
  11:     0x7fab44c15e2f - trans::foreign::register_rust_fn_with_foreign_abi::hff88e81da38aeb0f6gB
  12:     0x7fab44b1e905 - trans::base::get_item_val::hfbaf01eba019b69eVnu
  13:     0x7fab44b1bb50 - trans::base::trans_item::h1506a2e4228c48caCSt
  14:     0x7fab44c1859c - trans::base::trans_crate::h6ca4511310a24dc9fPu
  15:     0x7fab45af55c3 - driver::phase_4_translate_to_llvm::h44ad816874743241kOa
  16:     0x7fab45ad11b3 - driver::compile_input::h3bad48bfc23f6006Rba
  17:     0x7fab45b88b02 - run_compiler::haa99afb1c99d7db1x2b
  18:     0x7fab45b8694c - thunk::F.Invoke&lt;A, R&gt;::invoke::h10898031602178947258
  19:     0x7fab45b859d0 - rt::unwind::try::try_fn::h4687345873392121579
  20:     0x7fab45558fc8 - rust_try_inner
  21:     0x7fab45558fb5 - rust_try
  22:     0x7fab45b85e76 - thunk::F.Invoke&lt;A, R&gt;::invoke::h18058446263424162958
  23:     0x7fab454d69f5 - sys::thread::thread_start::h8ed6b7636995fe24B1G
  24:     0x7fab3f39e373 - start_thread
  25:     0x7fab450a027c - __clone
  26:                0x0 - &lt;unknown&gt;
</code></pre></div>
<p dir="auto">I get an ICE with similar code to this testcase : (<code class="notranslate">rustc 1.3.0 (9a92aaf19 2015-09-15)</code>)</p>
<div class="highlight highlight-source-rust notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="trait Test {
   type T;
}

impl Test for u32 {
   type T = i32;
}

pub type I = &lt;u32 as Test&gt;::T;

pub extern &quot;C&quot; fn test(t : I) {}"><pre class="notranslate"><span class="pl-k">trait</span> <span class="pl-smi">Test</span> <span class="pl-kos">{</span>
   <span class="pl-k">type</span> <span class="pl-smi">T</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>

<span class="pl-k">impl</span> <span class="pl-smi">Test</span> <span class="pl-k">for</span> <span class="pl-smi">u32</span> <span class="pl-kos">{</span>
   <span class="pl-k">type</span> <span class="pl-smi">T</span> = <span class="pl-smi">i32</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>

<span class="pl-k">pub</span> <span class="pl-k">type</span> <span class="pl-smi">I</span> = &lt;<span class="pl-smi">u32</span> <span class="pl-k">as</span> <span class="pl-smi">Test</span>&gt;<span class="pl-kos">::</span><span class="pl-smi">T</span><span class="pl-kos">;</span>

<span class="pl-k">pub</span> <span class="pl-k">extern</span> <span class="pl-s">"C"</span> <span class="pl-k">fn</span> <span class="pl-en">test</span><span class="pl-kos">(</span><span class="pl-s1">t</span> <span class="pl-kos">:</span> <span class="pl-smi">I</span><span class="pl-kos">)</span> <span class="pl-kos">{</span><span class="pl-kos">}</span></pre></div>
<p dir="auto">trace :</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="thread 'rustc' panicked at 'Box&lt;Any&gt;', ../src/libsyntax/diagnostic.rs:253

stack backtrace:
   1:     0x7f32612f68ee - sys::backtrace::write::haf6e4e635ac76143Ivs
   2:     0x7f32612fefd5 - panicking::on_panic::ha085a58a08f78856lzx
   3:     0x7f32612bfbce - rt::unwind::begin_unwind_inner::hc90ee27246f12475C0w
   4:     0x7f325e6dc76c - rt::unwind::begin_unwind::h11988818671084554314
   5:     0x7f325e6de0eb - diagnostic::Handler::bug::h57b1fbd717704399sdB
   6:     0x7f325f2c95a8 - session::Session::bug::h42a2bcf9b9358d7aFRt
   7:     0x7f32600d2073 - trans::type_of::in_memory_type_of::h0b2beb6279eadc99CmN
   8:     0x7f32600d1abc - trans::type_of::in_memory_type_of::h0b2beb6279eadc99CmN
   9:     0x7f32600d4191 - trans::type_of::type_of::hc9e8f77b11cdf8c20lN
  10:     0x7f32601b5473 - vec::Vec&lt;T&gt;.FromIterator&lt;T&gt;::from_iter::h8884525770310809719
  11:     0x7f32601b4eb0 - trans::foreign::foreign_signature::h983512416c3490efwOF
  12:     0x7f32601b4ac9 - trans::foreign::foreign_types_for_fn_ty::hacded173730270321PF
  13:     0x7f3260105a5c - trans::foreign::register_rust_fn_with_foreign_abi::hfd00bac55a193331xgF
  14:     0x7f32600ffa12 - trans::base::get_item_val::hd0ae7a460f0d2610BBj
  15:     0x7f32600fba29 - trans::base::trans_item::hae00c0ff97548410Pdj
  16:     0x7f326010856c - trans::base::trans_crate::h001f92a4a2fe58ffi0j
  17:     0x7f32618705d4 - driver::phase_4_translate_to_llvm::h2c6a45f20e7923ee5Oa
  18:     0x7f326186ab65 - driver::phase_3_run_analysis_passes::closure.16545
  19:     0x7f3261864d91 - middle::ty::ctxt&lt;'tcx&gt;::create_and_enter::h17619121053301903364
  20:     0x7f326185fc71 - driver::phase_3_run_analysis_passes::h12169435128770927116
  21:     0x7f3261843d70 - driver::compile_input::h50576600c327a48aTba
  22:     0x7f326192a083 - run_compiler::h08c4308e3023ae95A7b
  23:     0x7f3261927afe - boxed::F.FnBox&lt;A&gt;::call_box::h5719507417069443679
  24:     0x7f3261927429 - rt::unwind::try::try_fn::h17024725433081724618
  25:     0x7f32612feacd - __rust_try
  26:     0x7f32612e9b77 - rt::unwind::try::inner_try::h59523aa853a0e10avWw
  27:     0x7f3261927648 - boxed::F.FnBox&lt;A&gt;::call_box::h16487981074879516847
  28:     0x7f32612fdc11 - sys::thread::Thread::new::thread_start::h890d1188505773c835v
  29:     0x7f325b9650a3 - start_thread
  30:     0x7f3260f5404c - clone
  31:                0x0 - &lt;unknown&gt;"><pre class="notranslate"><code class="notranslate">thread 'rustc' panicked at 'Box&lt;Any&gt;', ../src/libsyntax/diagnostic.rs:253

stack backtrace:
   1:     0x7f32612f68ee - sys::backtrace::write::haf6e4e635ac76143Ivs
   2:     0x7f32612fefd5 - panicking::on_panic::ha085a58a08f78856lzx
   3:     0x7f32612bfbce - rt::unwind::begin_unwind_inner::hc90ee27246f12475C0w
   4:     0x7f325e6dc76c - rt::unwind::begin_unwind::h11988818671084554314
   5:     0x7f325e6de0eb - diagnostic::Handler::bug::h57b1fbd717704399sdB
   6:     0x7f325f2c95a8 - session::Session::bug::h42a2bcf9b9358d7aFRt
   7:     0x7f32600d2073 - trans::type_of::in_memory_type_of::h0b2beb6279eadc99CmN
   8:     0x7f32600d1abc - trans::type_of::in_memory_type_of::h0b2beb6279eadc99CmN
   9:     0x7f32600d4191 - trans::type_of::type_of::hc9e8f77b11cdf8c20lN
  10:     0x7f32601b5473 - vec::Vec&lt;T&gt;.FromIterator&lt;T&gt;::from_iter::h8884525770310809719
  11:     0x7f32601b4eb0 - trans::foreign::foreign_signature::h983512416c3490efwOF
  12:     0x7f32601b4ac9 - trans::foreign::foreign_types_for_fn_ty::hacded173730270321PF
  13:     0x7f3260105a5c - trans::foreign::register_rust_fn_with_foreign_abi::hfd00bac55a193331xgF
  14:     0x7f32600ffa12 - trans::base::get_item_val::hd0ae7a460f0d2610BBj
  15:     0x7f32600fba29 - trans::base::trans_item::hae00c0ff97548410Pdj
  16:     0x7f326010856c - trans::base::trans_crate::h001f92a4a2fe58ffi0j
  17:     0x7f32618705d4 - driver::phase_4_translate_to_llvm::h2c6a45f20e7923ee5Oa
  18:     0x7f326186ab65 - driver::phase_3_run_analysis_passes::closure.16545
  19:     0x7f3261864d91 - middle::ty::ctxt&lt;'tcx&gt;::create_and_enter::h17619121053301903364
  20:     0x7f326185fc71 - driver::phase_3_run_analysis_passes::h12169435128770927116
  21:     0x7f3261843d70 - driver::compile_input::h50576600c327a48aTba
  22:     0x7f326192a083 - run_compiler::h08c4308e3023ae95A7b
  23:     0x7f3261927afe - boxed::F.FnBox&lt;A&gt;::call_box::h5719507417069443679
  24:     0x7f3261927429 - rt::unwind::try::try_fn::h17024725433081724618
  25:     0x7f32612feacd - __rust_try
  26:     0x7f32612e9b77 - rt::unwind::try::inner_try::h59523aa853a0e10avWw
  27:     0x7f3261927648 - boxed::F.FnBox&lt;A&gt;::call_box::h16487981074879516847
  28:     0x7f32612fdc11 - sys::thread::Thread::new::thread_start::h890d1188505773c835v
  29:     0x7f325b9650a3 - start_thread
  30:     0x7f3260f5404c - clone
  31:                0x0 - &lt;unknown&gt;
</code></pre></div>