<p dir="auto">with <a href="https://github.com/cmr/rust/tree/methodize/char">https://github.com/cmr/rust/tree/methodize/char</a> I consistently get</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[17:50:25]~/hacking/rust/build&gt; make check
cfg: build triple x86_64-unknown-linux-gnu
cfg: host triples x86_64-unknown-linux-gnu
cfg: target triples x86_64-unknown-linux-gnu
cfg: disabling rustc optimization (CFG_DISABLE_OPTIMIZE)
cfg: host for x86_64-unknown-linux-gnu is x86_64
cfg: os for x86_64-unknown-linux-gnu is unknown-linux-gnu
cfg: disabling C++ optimization (CFG_DISABLE_OPTIMIZE_CXX)
cfg: using gcc
cfg: no pandoc found, omitting doc/rust.pdf
cfg: no llnextgen found, omitting grammar-verification
cfg: no pandoc found, omitting library doc build
cfg: including dist rules
cfg: including test rules
check: formatting
/home/cmr/hacking/rust/src/libsyntax/parse/common.rs:143: NOTE: this could be done statically....

/home/cmr/hacking/rust/src/libcore/reflect.rs:423: NOTE remove after next snapshot

/home/cmr/hacking/rust/src/libcore/reflect.rs:456: NOTE remove after next snapshot

/home/cmr/hacking/rust/src/libcore/rt/io/flate.rs:13: NOTE: These ultimately belong somewhere else

compile_and_link: x86_64-unknown-linux-gnu/stage0/lib/rustc/x86_64-unknown-linux-gnu/lib/libcore.so
rustc: /home/rustbuild/src/rust-buildbot/slave/snap3-linux/build/src/llvm/lib/VMCore/Instructions.cpp:2383: static llvm::CastInst* llvm::CastInst::CreatePointerCast(llvm::Value*, llvm::Type*, const llvm::Twine&amp;, llvm::Instruction*): Assertion `S-&gt;getType()-&gt;isPointerTy() &amp;&amp; &quot;Invalid cast&quot;' failed.
/bin/sh: line 1: 15788 Aborted                 (core dumped) x86_64-unknown-linux-gnu/stage0/bin/rustc --cfg stage0 --target=x86_64-unknown-linux-gnu -o x86_64-unknown-linux-gnu/stage0/lib/rustc/x86_64-unknown-linux-gnu/lib/libcore.so /home/cmr/hacking/rust/src/libcore/core.rc
make: *** [x86_64-unknown-linux-gnu/stage0/lib/rustc/x86_64-unknown-linux-gnu/lib/libcore.so] Error 134
"><pre class="notranslate"><code class="notranslate">[17:50:25]~/hacking/rust/build&gt; make check
cfg: build triple x86_64-unknown-linux-gnu
cfg: host triples x86_64-unknown-linux-gnu
cfg: target triples x86_64-unknown-linux-gnu
cfg: disabling rustc optimization (CFG_DISABLE_OPTIMIZE)
cfg: host for x86_64-unknown-linux-gnu is x86_64
cfg: os for x86_64-unknown-linux-gnu is unknown-linux-gnu
cfg: disabling C++ optimization (CFG_DISABLE_OPTIMIZE_CXX)
cfg: using gcc
cfg: no pandoc found, omitting doc/rust.pdf
cfg: no llnextgen found, omitting grammar-verification
cfg: no pandoc found, omitting library doc build
cfg: including dist rules
cfg: including test rules
check: formatting
/home/cmr/hacking/rust/src/libsyntax/parse/common.rs:143: NOTE: this could be done statically....

/home/cmr/hacking/rust/src/libcore/reflect.rs:423: NOTE remove after next snapshot

/home/cmr/hacking/rust/src/libcore/reflect.rs:456: NOTE remove after next snapshot

/home/cmr/hacking/rust/src/libcore/rt/io/flate.rs:13: NOTE: These ultimately belong somewhere else

compile_and_link: x86_64-unknown-linux-gnu/stage0/lib/rustc/x86_64-unknown-linux-gnu/lib/libcore.so
rustc: /home/rustbuild/src/rust-buildbot/slave/snap3-linux/build/src/llvm/lib/VMCore/Instructions.cpp:2383: static llvm::CastInst* llvm::CastInst::CreatePointerCast(llvm::Value*, llvm::Type*, const llvm::Twine&amp;, llvm::Instruction*): Assertion `S-&gt;getType()-&gt;isPointerTy() &amp;&amp; "Invalid cast"' failed.
/bin/sh: line 1: 15788 Aborted                 (core dumped) x86_64-unknown-linux-gnu/stage0/bin/rustc --cfg stage0 --target=x86_64-unknown-linux-gnu -o x86_64-unknown-linux-gnu/stage0/lib/rustc/x86_64-unknown-linux-gnu/lib/libcore.so /home/cmr/hacking/rust/src/libcore/core.rc
make: *** [x86_64-unknown-linux-gnu/stage0/lib/rustc/x86_64-unknown-linux-gnu/lib/libcore.so] Error 134

</code></pre></div>
<p dir="auto">Runs fine before the char commit. I don't know how to strip it down, because I have no idea what could be failing</p>
<div class="highlight highlight-source-rust notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="trait FTErrorMethods {
    fn succeeded(self) -&gt; bool;
}

impl FTErrorMethods for int {
    fn succeeded(self) -&gt; bool { self == 0 }
}

fn main() {
    5.succeeded();
}"><pre class="notranslate"><span class="pl-k">trait</span> <span class="pl-smi">FTErrorMethods</span> <span class="pl-kos">{</span>
    <span class="pl-k">fn</span> <span class="pl-en">succeeded</span><span class="pl-kos">(</span><span class="pl-smi">self</span><span class="pl-kos">)</span> -&gt; <span class="pl-smi">bool</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>

<span class="pl-k">impl</span> <span class="pl-smi">FTErrorMethods</span> <span class="pl-k">for</span> <span class="pl-smi">int</span> <span class="pl-kos">{</span>
    <span class="pl-k">fn</span> <span class="pl-en">succeeded</span><span class="pl-kos">(</span><span class="pl-smi">self</span><span class="pl-kos">)</span> -&gt; <span class="pl-smi">bool</span> <span class="pl-kos">{</span> <span class="pl-smi">self</span> == <span class="pl-c1">0</span> <span class="pl-kos">}</span>
<span class="pl-kos">}</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-c1">5</span><span class="pl-kos">.</span><span class="pl-en">succeeded</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="rustc: /run/media/jdm/ssd/rust/src/llvm/lib/VMCore/Instructions.cpp:2383: static llvm::CastInst* llvm::CastInst::CreatePointerCast(llvm::Value*, llvm::Type*, const llvm::Twine&amp;, llvm::Instruction*): Assertion `S-&gt;getType()-&gt;isPointerTy() &amp;&amp; &quot;Invalid cast&quot;' failed."><pre class="notranslate"><code class="notranslate">rustc: /run/media/jdm/ssd/rust/src/llvm/lib/VMCore/Instructions.cpp:2383: static llvm::CastInst* llvm::CastInst::CreatePointerCast(llvm::Value*, llvm::Type*, const llvm::Twine&amp;, llvm::Instruction*): Assertion `S-&gt;getType()-&gt;isPointerTy() &amp;&amp; "Invalid cast"' failed.
</code></pre></div>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="#4  0x00007ffff62dc216 in llvm::CastInst::CreatePointerCast(llvm::Value*, llvm::Type*, llvm::Twine const&amp;, llvm::Instruction*) () from /usr/local/bin/../lib/librustllvm.so
#5  0x00007ffff6268fe0 in llvm::IRBuilder&lt;true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter&lt;true&gt; &gt;::CreatePointerCast(llvm::Value*, llvm::Type*, llvm::Twine const&amp;) ()
   from /usr/local/bin/../lib/librustllvm.so
#6  0x00007ffff6265f35 in LLVMBuildPointerCast () from /usr/local/bin/../lib/librustllvm.so
#7  0x00007ffff74191c2 in LLVMBuildPointerCast__c_stack_shim () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#8  0x00007ffff54e7649 in __morestack () from /usr/local/bin/../lib/librustrt.so
#9  0x00007ffff54d8104 in call_on_c_stack (fn_ptr=0x7ffff7419180, args=0x7fffe849a998, this=0x7ffff0108830) at /run/media/jdm/ssd/rust/src/rt/rust_task.h:478
#10 upcall_call_shim_on_c_stack (args=0x7fffe849a998, fn_ptr=0x7ffff7419180) at /run/media/jdm/ssd/rust/src/rt/rust_upcall.cpp:64
#11 0x00007ffff6d9c09a in middle::trans::build::PointerCast::_aee05de3d6b51f11::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#12 0x00007ffff6ddd6ce in middle::trans::callee::trans_call_inner::anon::expr_fn_27457 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#13 0x00007ffff6d991cc in middle::trans::base::with_scope::_518696e6502795b0::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#14 0x00007ffff6dcf435 in middle::trans::callee::trans_method_call::_12bb7b81ca47a09::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#15 0x00007ffff6de983c in middle::trans::expr::trans_rvalue_dps_unadjusted::_cbdc4c02519225::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#16 0x00007ffff6de4b64 in middle::trans::expr::trans_to_datum_unadjusted::_a2a3224b30364953::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#17 0x00007ffff6d50cc0 in middle::trans::expr::trans_to_datum::_a2a3224b30364953::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#18 0x00007ffff6de7d4e in middle::trans::expr::trans_rvalue_datum_unadjusted::_a2a3224b30364953::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#19 0x00007ffff6de47fa in middle::trans::expr::trans_to_datum_unadjusted::_a2a3224b30364953::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#20 0x00007ffff6d50cc0 in middle::trans::expr::trans_to_datum::_a2a3224b30364953::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#21 0x00007ffff6d4e7ca in middle::trans::controlflow::trans_if::_fcc7ad9922f2f49::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#22 0x00007ffff6de9c99 in middle::trans::expr::trans_rvalue_dps_unadjusted::_cbdc4c02519225::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#23 0x00007ffff6d4de34 in middle::trans::expr::trans_into::_cbdc4c02519225::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#24 0x00007ffff7434814 in __morestack () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#25 0x00007ffff6d4cf3d in middle::trans::base::trans_stmt::_d936d389a86c7a66::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#26 0x00007ffff6d4c426 in middle::trans::controlflow::trans_block::anon::expr_fn_21837 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#27 0x00007ffff6d4a66e in middle::trans::controlflow::trans_block::_84b7ff1756c49e1::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#28 0x00007ffff6e513b7 in middle::trans::base::trans_closure::_33dc6c6bc3c467::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#29 0x00007ffff6d03624 in middle::trans::base::trans_fn::_bbb928f648ebbdfa::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#30 0x00007ffff6cfb180 in middle::trans::base::trans_item::_e5c80d83455a852::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#31 0x00007ffff6e57e30 in middle::trans::base::trans_mod::_f6b5437a924015ec::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#32 0x00007ffff6e75e5b in middle::trans::base::trans_crate::_685731d1dcd33aec::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#33 0x00007ffff73f4993 in driver::driver::compile_rest::_3dc0cd32a85c34a0::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#34 0x00007ffff7434814 in __morestack () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#35 0x00007ffff73f6ef7 in driver::driver::compile_upto::_23bd5d90dda9e867::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#36 0x00007ffff7434814 in __morestack () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#37 0x00007ffff73f72f9 in driver::driver::compile_input::_594ffb6142f762a7::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#38 0x00007ffff742542f in run_compiler::_c936523e1243e7f::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#39 0x00007ffff7432151 in monitor::anon::expr_fn_82369 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#40 0x00007ffff742e57b in task::__extensions__::try_81880::anon::expr_fn_82143 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#41 0x00007ffff7434814 in __morestack () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#42 0x00007ffff7df363a in task::spawn::spawn_raw::make_child_wrapper::anon::expr_fn_11480 () from /usr/local/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so
#43 0x00007ffff7e5aa20 in __morestack () from /usr/local/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so
#44 0x00007ffff54d70a4 in task_start_wrapper (a=0x7ffff0109660) at /run/media/jdm/ssd/rust/src/rt/rust_task.cpp:162
#45 0x0000000000000000 in ?? ()"><pre class="notranslate"><code class="notranslate">#4  0x00007ffff62dc216 in llvm::CastInst::CreatePointerCast(llvm::Value*, llvm::Type*, llvm::Twine const&amp;, llvm::Instruction*) () from /usr/local/bin/../lib/librustllvm.so
#5  0x00007ffff6268fe0 in llvm::IRBuilder&lt;true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter&lt;true&gt; &gt;::CreatePointerCast(llvm::Value*, llvm::Type*, llvm::Twine const&amp;) ()
   from /usr/local/bin/../lib/librustllvm.so
#6  0x00007ffff6265f35 in LLVMBuildPointerCast () from /usr/local/bin/../lib/librustllvm.so
#7  0x00007ffff74191c2 in LLVMBuildPointerCast__c_stack_shim () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#8  0x00007ffff54e7649 in __morestack () from /usr/local/bin/../lib/librustrt.so
#9  0x00007ffff54d8104 in call_on_c_stack (fn_ptr=0x7ffff7419180, args=0x7fffe849a998, this=0x7ffff0108830) at /run/media/jdm/ssd/rust/src/rt/rust_task.h:478
#10 upcall_call_shim_on_c_stack (args=0x7fffe849a998, fn_ptr=0x7ffff7419180) at /run/media/jdm/ssd/rust/src/rt/rust_upcall.cpp:64
#11 0x00007ffff6d9c09a in middle::trans::build::PointerCast::_aee05de3d6b51f11::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#12 0x00007ffff6ddd6ce in middle::trans::callee::trans_call_inner::anon::expr_fn_27457 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#13 0x00007ffff6d991cc in middle::trans::base::with_scope::_518696e6502795b0::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#14 0x00007ffff6dcf435 in middle::trans::callee::trans_method_call::_12bb7b81ca47a09::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#15 0x00007ffff6de983c in middle::trans::expr::trans_rvalue_dps_unadjusted::_cbdc4c02519225::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#16 0x00007ffff6de4b64 in middle::trans::expr::trans_to_datum_unadjusted::_a2a3224b30364953::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#17 0x00007ffff6d50cc0 in middle::trans::expr::trans_to_datum::_a2a3224b30364953::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#18 0x00007ffff6de7d4e in middle::trans::expr::trans_rvalue_datum_unadjusted::_a2a3224b30364953::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#19 0x00007ffff6de47fa in middle::trans::expr::trans_to_datum_unadjusted::_a2a3224b30364953::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#20 0x00007ffff6d50cc0 in middle::trans::expr::trans_to_datum::_a2a3224b30364953::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#21 0x00007ffff6d4e7ca in middle::trans::controlflow::trans_if::_fcc7ad9922f2f49::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#22 0x00007ffff6de9c99 in middle::trans::expr::trans_rvalue_dps_unadjusted::_cbdc4c02519225::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#23 0x00007ffff6d4de34 in middle::trans::expr::trans_into::_cbdc4c02519225::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#24 0x00007ffff7434814 in __morestack () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#25 0x00007ffff6d4cf3d in middle::trans::base::trans_stmt::_d936d389a86c7a66::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#26 0x00007ffff6d4c426 in middle::trans::controlflow::trans_block::anon::expr_fn_21837 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#27 0x00007ffff6d4a66e in middle::trans::controlflow::trans_block::_84b7ff1756c49e1::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#28 0x00007ffff6e513b7 in middle::trans::base::trans_closure::_33dc6c6bc3c467::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#29 0x00007ffff6d03624 in middle::trans::base::trans_fn::_bbb928f648ebbdfa::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#30 0x00007ffff6cfb180 in middle::trans::base::trans_item::_e5c80d83455a852::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#31 0x00007ffff6e57e30 in middle::trans::base::trans_mod::_f6b5437a924015ec::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#32 0x00007ffff6e75e5b in middle::trans::base::trans_crate::_685731d1dcd33aec::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#33 0x00007ffff73f4993 in driver::driver::compile_rest::_3dc0cd32a85c34a0::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#34 0x00007ffff7434814 in __morestack () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#35 0x00007ffff73f6ef7 in driver::driver::compile_upto::_23bd5d90dda9e867::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#36 0x00007ffff7434814 in __morestack () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#37 0x00007ffff73f72f9 in driver::driver::compile_input::_594ffb6142f762a7::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#38 0x00007ffff742542f in run_compiler::_c936523e1243e7f::_06 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#39 0x00007ffff7432151 in monitor::anon::expr_fn_82369 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#40 0x00007ffff742e57b in task::__extensions__::try_81880::anon::expr_fn_82143 () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#41 0x00007ffff7434814 in __morestack () from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
#42 0x00007ffff7df363a in task::spawn::spawn_raw::make_child_wrapper::anon::expr_fn_11480 () from /usr/local/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so
#43 0x00007ffff7e5aa20 in __morestack () from /usr/local/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so
#44 0x00007ffff54d70a4 in task_start_wrapper (a=0x7ffff0109660) at /run/media/jdm/ssd/rust/src/rt/rust_task.cpp:162
#45 0x0000000000000000 in ?? ()
</code></pre></div>