Closed
Description
use std::fmt::Show;
trait Something {
fn yay<T: Show>(_: Option<Self>, thing: &[T]) -> String {
format!("{}", thing)
}
}
struct X { data: u32 }
impl Something for X {
// Changing `T: Str` into `T: Show` compiles fine
fn yay<T: Str>(_:Option<X>, thing: &[T]) -> String {
format!("{:s}", thing[0])
}
}
fn main() {
let arr = &["one", "two", "three"];
println!("{}", Something::yay(None::<X>, arr))
}
error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. this is a bug.
note: we would appreciate a bug report: http://doc.rust-lang.org/complement-bugreport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
task 'rustc' failed at 'could not find method while translating', <...>/rust/rust/src/libstd/option.rs:167
stack backtrace:
1: 0x10d74b8c5 - rt::backtrace::imp::write::h6bffa7f6a68925ccmDx::v0.11.0.pre
2: 0x10d6d1159 - rt::unwind::begin_unwind_inner::h33034d2882c92e8codx::v0.11.0.pre
3: 0x10a7c883d - rt::unwind::begin_unwind::h8806507132401694468::v0.11.0.pre
4: 0x10a90d987 - middle::trans::meth::method_with_name::h0bbbc11eed115623jtv::v0.11.0.pre
5: 0x10a8463bb - middle::trans::meth::trans_method_callee::hefc4ff4abe1ace40fev::v0.11.0.pre
6: 0x10a845d15 - middle::trans::callee::trans_method_call::closure.60059
7: 0x10a8440dc - middle::trans::callee::trans_call_inner::hb55cdf9f2d3a6391PId::v0.11.0.pre
8: 0x10a8459dd - middle::trans::callee::trans_method_call::h3e9e43e36ee2e66a5Dd::v0.11.0.pre
9: 0x10a84e797 - middle::trans::expr::trans_rvalue_dps_unadjusted::hfb0b700a82d3d6a4Baf::v0.11.0.pre
10: 0x10a84d488 - middle::trans::expr::trans_unadjusted::hfd27b1de4c9d553ePHe::v0.11.0.pre
11: 0x10a81432f - middle::trans::expr::trans::hcaec28254c68ec76Foe::v0.11.0.pre
12: 0x10a847768 - middle::trans::callee::trans_args::h40a54dd74be2c0089Ud::v0.11.0.pre
13: 0x10a844877 - middle::trans::callee::trans_call_inner::hb55cdf9f2d3a6391PId::v0.11.0.pre
14: 0x10a8459dd - middle::trans::callee::trans_method_call::h3e9e43e36ee2e66a5Dd::v0.11.0.pre
15: 0x10a84e797 - middle::trans::expr::trans_rvalue_dps_unadjusted::hfb0b700a82d3d6a4Baf::v0.11.0.pre
16: 0x10a8122fe - middle::trans::expr::trans_into::h0d638b240f271997Jke::v0.11.0.pre
17: 0x10a8126dc - middle::trans::controlflow::trans_block::h6d9948b8510c72ce45a::v0.11.0.pre
18: 0x10a8c94e0 - middle::trans::base::trans_closure::he57d425510e4d010M7o::v0.11.0.pre
19: 0x10a7dcbcb - middle::trans::base::trans_fn::h8545e03220387efa9fp::v0.11.0.pre
20: 0x10a7e0c6b - middle::trans::monomorphize::monomorphic_fn::h261842f1edfa9695Tka::v0.11.0.pre
21: 0x10a83afb8 - middle::trans::callee::trans_fn_ref_with_vtables::h1bce787075ed3cd12jd::v0.11.0.pre
22: 0x10a846674 - middle::trans::meth::trans_method_callee::hefc4ff4abe1ace40fev::v0.11.0.pre
23: 0x10a845d15 - middle::trans::callee::trans_method_call::closure.60059
24: 0x10a8440dc - middle::trans::callee::trans_call_inner::hb55cdf9f2d3a6391PId::v0.11.0.pre
25: 0x10a8459dd - middle::trans::callee::trans_method_call::h3e9e43e36ee2e66a5Dd::v0.11.0.pre
26: 0x10a84e797 - middle::trans::expr::trans_rvalue_dps_unadjusted::hfb0b700a82d3d6a4Baf::v0.11.0.pre
27: 0x10a8122fe - middle::trans::expr::trans_into::h0d638b240f271997Jke::v0.11.0.pre
28: 0x10a8126dc - middle::trans::controlflow::trans_block::h6d9948b8510c72ce45a::v0.11.0.pre
29: 0x10a8c94e0 - middle::trans::base::trans_closure::he57d425510e4d010M7o::v0.11.0.pre
30: 0x10a7dcbcb - middle::trans::base::trans_fn::h8545e03220387efa9fp::v0.11.0.pre
31: 0x10a7e09f0 - middle::trans::monomorphize::monomorphic_fn::h261842f1edfa9695Tka::v0.11.0.pre
32: 0x10a83afb8 - middle::trans::callee::trans_fn_ref_with_vtables::h1bce787075ed3cd12jd::v0.11.0.pre
33: 0x10a836129 - middle::trans::callee::trans_fn_ref::h2444d91fa308c57cadd::v0.11.0.pre
34: 0x10a857c84 - middle::trans::expr::trans_def::h1370c4852146f82fS1e::v0.11.0.pre
35: 0x10a84da00 - middle::trans::expr::trans_unadjusted::hfd27b1de4c9d553ePHe::v0.11.0.pre
36: 0x10a81432f - middle::trans::expr::trans::hcaec28254c68ec76Foe::v0.11.0.pre
37: 0x10a847768 - middle::trans::callee::trans_args::h40a54dd74be2c0089Ud::v0.11.0.pre
38: 0x10a844877 - middle::trans::callee::trans_call_inner::hb55cdf9f2d3a6391PId::v0.11.0.pre
39: 0x10a843fde - middle::trans::callee::trans_call::h37abd2a7aca4dee6XCd::v0.11.0.pre
40: 0x10a84e730 - middle::trans::expr::trans_rvalue_dps_unadjusted::hfb0b700a82d3d6a4Baf::v0.11.0.pre
41: 0x10a8122fe - middle::trans::expr::trans_into::h0d638b240f271997Jke::v0.11.0.pre
42: 0x10a906ac5 - middle::trans::tvec::write_content::ha2f5fb559bde7c23yHu::v0.11.0.pre
43: 0x10a86518c - middle::trans::tvec::trans_slice_vstore::h1522f7df8e9088252lu::v0.11.0.pre
44: 0x10a84e3c7 - middle::trans::expr::trans_rvalue_dps_unadjusted::hfb0b700a82d3d6a4Baf::v0.11.0.pre
45: 0x10a8122fe - middle::trans::expr::trans_into::h0d638b240f271997Jke::v0.11.0.pre
46: 0x10a8fe4ff - middle::trans::_match::store_local::closure.64245
47: 0x10a8fe2c3 - middle::trans::_match::mk_binding_alloca::h104032463593563318::v0.11.0.pre
48: 0x10a8c3903 - middle::trans::_match::store_local::hb6d216d9a98a1573Mht::v0.11.0.pre
49: 0x10a8116ca - middle::trans::base::init_local::he37da045a448e76dpCo::v0.11.0.pre
50: 0x10a810b9e - middle::trans::controlflow::trans_stmt::hc7faa3acb6b8c01cX0a::v0.11.0.pre
51: 0x10a812611 - middle::trans::controlflow::trans_block::h6d9948b8510c72ce45a::v0.11.0.pre
52: 0x10a84ed0b - middle::trans::expr::trans_rvalue_dps_unadjusted::hfb0b700a82d3d6a4Baf::v0.11.0.pre
53: 0x10a8122fe - middle::trans::expr::trans_into::h0d638b240f271997Jke::v0.11.0.pre
54: 0x10a8638a3 - middle::trans::_match::trans_match::h367a840f9de4b613p8s::v0.11.0.pre
55: 0x10a84eccd - middle::trans::expr::trans_rvalue_dps_unadjusted::hfb0b700a82d3d6a4Baf::v0.11.0.pre
56: 0x10a8122fe - middle::trans::expr::trans_into::h0d638b240f271997Jke::v0.11.0.pre
57: 0x10a8126dc - middle::trans::controlflow::trans_block::h6d9948b8510c72ce45a::v0.11.0.pre
58: 0x10a8c94e0 - middle::trans::base::trans_closure::he57d425510e4d010M7o::v0.11.0.pre
59: 0x10a7dcbcb - middle::trans::base::trans_fn::h8545e03220387efa9fp::v0.11.0.pre
60: 0x10a7e0c6b - middle::trans::monomorphize::monomorphic_fn::h261842f1edfa9695Tka::v0.11.0.pre
61: 0x10a83afb8 - middle::trans::callee::trans_fn_ref_with_vtables::h1bce787075ed3cd12jd::v0.11.0.pre
62: 0x10a8375ed - middle::trans::meth::trans_static_method_callee::h6a97ca71ff84b94aejv::v0.11.0.pre
63: 0x10a84550a - middle::trans::callee::trans_call::closure.60047
64: 0x10a8440dc - middle::trans::callee::trans_call_inner::hb55cdf9f2d3a6391PId::v0.11.0.pre
65: 0x10a843fde - middle::trans::callee::trans_call::h37abd2a7aca4dee6XCd::v0.11.0.pre
66: 0x10a84e730 - middle::trans::expr::trans_rvalue_dps_unadjusted::hfb0b700a82d3d6a4Baf::v0.11.0.pre
67: 0x10a84d488 - middle::trans::expr::trans_unadjusted::hfd27b1de4c9d553ePHe::v0.11.0.pre
68: 0x10a81432f - middle::trans::expr::trans::hcaec28254c68ec76Foe::v0.11.0.pre
69: 0x10a811efe - middle::trans::expr::trans_to_lvalue::hda7da15885e2de97SGe::v0.11.0.pre
70: 0x10a85b562 - middle::trans::expr::trans_addr_of::h0a767b6d5efb4628K0f::v0.11.0.pre
71: 0x10a84da27 - middle::trans::expr::trans_unadjusted::hfd27b1de4c9d553ePHe::v0.11.0.pre
72: 0x10a81231e - middle::trans::expr::trans_into::h0d638b240f271997Jke::v0.11.0.pre
73: 0x10a864554 - middle::trans::expr::trans_adt::h5a3327d761e79cd4wKf::v0.11.0.pre
74: 0x10a84f519 - middle::trans::expr::trans_rvalue_dps_unadjusted::hfb0b700a82d3d6a4Baf::v0.11.0.pre
75: 0x10a84d488 - middle::trans::expr::trans_unadjusted::hfd27b1de4c9d553ePHe::v0.11.0.pre
76: 0x10a81432f - middle::trans::expr::trans::hcaec28254c68ec76Foe::v0.11.0.pre
77: 0x10a811efe - middle::trans::expr::trans_to_lvalue::hda7da15885e2de97SGe::v0.11.0.pre
78: 0x10a8627a7 - middle::trans::_match::trans_match::h367a840f9de4b613p8s::v0.11.0.pre
79: 0x10a84eccd - middle::trans::expr::trans_rvalue_dps_unadjusted::hfb0b700a82d3d6a4Baf::v0.11.0.pre
80: 0x10a8122fe - middle::trans::expr::trans_into::h0d638b240f271997Jke::v0.11.0.pre
81: 0x10a8126dc - middle::trans::controlflow::trans_block::h6d9948b8510c72ce45a::v0.11.0.pre
82: 0x10a8c94e0 - middle::trans::base::trans_closure::he57d425510e4d010M7o::v0.11.0.pre
83: 0x10a7dcbcb - middle::trans::base::trans_fn::h8545e03220387efa9fp::v0.11.0.pre
84: 0x10a7d6c6d - middle::trans::base::trans_item::h6625316285fff06fXwp::v0.11.0.pre
85: 0x10a8d8401 - middle::trans::base::trans_crate::h9804a2506ca74711Ypq::v0.11.0.pre
86: 0x10b04161d - driver::driver::phase_4_translate_to_llvm::heff6157cc2c67c58ZKm::v0.11.0.pre
87: 0x10b0389aa - driver::driver::compile_input::h55d49e35c904a84fAsm::v0.11.0.pre
88: 0x10b0fc00c - driver::run_compiler::h7b8c3e9894537cc1j7o::v0.11.0.pre
89: 0x10b0f95b7 - driver::main_args::closure.94809
90: 0x10b10da77 - driver::monitor::closure.95880
91: 0x10b10908b - task::TaskBuilder::try::closure.95643
92: 0x10a777d3c - task::spawn_opts::closure.7930
93: 0x10d745d48 - rt::task::Task::run::closure.25290
94: 0x10d7b9d8c - rust_try
95: 0x10d745cb1 - rt::task::Task::run::h805e582abbe1f9acy2u::v0.11.0.pre
96: 0x10a777b9f - task::spawn_opts::closure.7902
97: 0x10d749b39 - rt::thread::thread_start::hc64e98bc84a7a5a86Lv::v0.11.0.pre
98: 0x7fff91ed9899 - _pthread_body
99: 0x7fff91ed972a - _pthread_struct_init
rustc 0.11.0-pre (aa09561 2014-06-04 15:26:50 -0700)
host: x86_64-apple-darwin