Closed
Description
foo.rs
:
#![feature(specialization)]
trait Foo: Sized {
type Bar: From<Self>;
}
impl Foo for i32 {
default type Bar = ();
}
fn xyz<T: Foo>(t: T) -> T::Bar {
t.into()
}
fn main() {
xyz(5i32);
}
> rustc --version
rustc 1.10.0-nightly (2174bd97c 2016-04-14)
> RUST_BACKTRACE=1 rustc foo.rs
error: internal compiler error: ../src/librustc/infer/mod.rs:544: Encountered errors `[FulfillmentError(Obligation(predicate=Binder(TraitPredicate(<() as std::convert::From<i32>>)),depth=1),Unimplemented)]` fulfilling during trans
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<Any>', ../src/libsyntax/errors/mod.rs:536
stack backtrace:
1: 0x7f075adfc600 - std::sys::backtrace::tracing::imp::write::h9fb600083204ae7f
2: 0x7f075ae09d4b - std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::hca543c34f11229ac
3: 0x7f075ae098ec - std::panicking::default_hook::hc2c969e7453d080c
4: 0x7f075adce8bf - std::sys_common::unwind::begin_unwind_inner::h30e12d15ce2b2e25
5: 0x7f0759d28008 - std::sys_common::unwind::begin_unwind::h24c4c0fa2cfe995a
6: 0x7f0759d27fab - syntax::errors::Handler::span_bug::h1c6b996df38ae8d7
7: 0x7f0759d5c152 - rustc::session::opt_span_bug_fmt::_$u7b$$u7b$closure$u7d$$u7d$::hf0fb5697f8f25f40
8: 0x7f0759d5c042 - rustc::session::span_bug_fmt::h4591bcbadfc38558
9: 0x7f0759d6ffb3 - rustc_trans::common::fulfill_obligation::hb97500cd4d49823c
10: 0x7f0759e6dc39 - _<collector..MirNeighborCollector<'a, 'tcx> as rustc..mir..visit..Visitor<'tcx>>::visit_operand::hc9aaa9442e0c17d2
11: 0x7f0759e695f6 - rustc_trans::collector::collect_items_rec::hd5e212e77fc53d1a
12: 0x7f0759e697ad - rustc_trans::collector::collect_items_rec::hd5e212e77fc53d1a
13: 0x7f0759dabc86 - rustc_trans::base::collect_translation_items::_$u7b$$u7b$closure$u7d$$u7d$::h33d9d5954414c1ad
14: 0x7f0759d99510 - rustc_trans::base::trans_crate::h6ed1dbd6e572a8c2
15: 0x7f075b36215f - rustc_driver::driver::phase_4_translate_to_llvm::hd7579aae98641824
16: 0x7f075b36081f - rustc_driver::driver::compile_input::_$u7b$$u7b$closure$u7d$$u7d$::h5534474dbe9371c4
17: 0x7f075b35d190 - rustc_driver::driver::phase_3_run_analysis_passes::_$u7b$$u7b$closure$u7d$$u7d$::h5a042a091cd7658c
18: 0x7f075b356c6b - rustc::ty::context::TyCtxt::create_and_enter::h3f9051bcccbd93e4
19: 0x7f075b35371e - rustc_driver::driver::phase_3_run_analysis_passes::h9c723484c588a35b
20: 0x7f075b325f7f - rustc_driver::driver::compile_input::h0629572e6f316b31
21: 0x7f075b30c4e4 - rustc_driver::run_compiler::h8902aebf8b1849a8
22: 0x7f075b309941 - std::sys_common::unwind::try::try_fn::h4c74456035d0fcc7
23: 0x7f075adf9d9b - __rust_try
24: 0x7f075adf9d2d - std::sys_common::unwind::inner_try::h47a4d9cd4a369dcd
25: 0x7f075b30a18a - _<F as std..boxed..FnBox<A>>::call_box::h27f542a39f1d61ef
26: 0x7f075ae07ee4 - std::sys::thread::Thread::new::thread_start::h6f266e069bf4ec2b
27: 0x7f0752c606a9 - start_thread
28: 0x7f075aa5ce9c - clone
29: 0x0 - <unknown>
Metadata
Metadata
Assignees
Labels
Area: Associated items (types, constants & functions)Area: Trait impl specializationCategory: This is a bug.Call for participation: An issue has been fixed and does not reproduce, but no test has been added.`#![feature(specialization)]`Issue: A soundness hole (worst kind of bug), see: https://en.wikipedia.org/wiki/SoundnessMedium priorityRelevant to the compiler team, which will review and decide on the PR/issue.This issue requires a nightly compiler in some way.