Closed
Description
Sorry about the incoming wall of text. The backtrace was over 100 frames long.
src/main.rs:1:1: 1:1 error: internal compiler error: Encountered errors `[FulfillmentError(Obligation(predicate=Binder(TraitPredicate(progress::graph::Graph)),depth=0),Unimplemented)]` fulfilling during trans
src/main.rs:1 #![feature(test)]
^
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>', /Users/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-mac/build/src/libsyntax/diagnostic.rs:131
stack backtrace:
1: 0x1060014e7 - sys::backtrace::write::h068e87ba7a3fd301gQC
2: 0x10602f6e3 - panicking::on_panic::h9e41b927365e32bamRI
3: 0x105f523de - rt::unwind::begin_unwind_inner::h3e325126f8078272XyI
4: 0x105714f9e - rt::unwind::begin_unwind::h3211255641542373370
5: 0x105714f4b - diagnostic::SpanHandler::span_bug::hff4b0b64c47f0dfdImB
6: 0x102e7821c - session::Session::span_bug::hc46039cb76696aca3dr
7: 0x102a12fbd - trans::monomorphize::normalize_associated_type::h12231547644293220421
8: 0x102b903fe - trans::adt::represent_type_uncached::h2b040bfeed2f1048cqH
9: 0x102a39161 - trans::adt::represent_type::h9e0893753263a362wgH
10: 0x102a88815 - trans::type_of::in_memory_type_of::hdb9ea0b5b50d1503dRo
11: 0x102a88be6 - trans::type_of::in_memory_type_of::hdb9ea0b5b50d1503dRo
12: 0x102aefbf2 - trans::type_of::type_of_rust_fn::h7aaf51c82b01175bSEo
13: 0x102af8be4 - trans::base::decl_rust_fn::ha107786e3eafcdbfAFr
14: 0x102a1edbc - trans::monomorphize::monomorphic_fn::closure.40962
15: 0x102a1128c - trans::monomorphize::monomorphic_fn::h3e749e73218f4787Ytd
16: 0x102a3c13d - trans::glue::trans_struct_drop::h7c0455ac053aaa21dPe
17: 0x102a38af2 - trans::glue::trans_struct_drop_flag::hae07232667dbcdd6jLe
18: 0x102a30a44 - trans::glue::get_drop_glue::h0a87d55576ed29388De
19: 0x102a2fc04 - trans::glue::drop_ty::hcdfd60e4171c3591CAe
20: 0x102b9b6a9 - trans::cleanup::DropValue<'tcx>.Cleanup<'tcx>::trans::hed5557b0a4f24babfnL
21: 0x102b9a973 - trans::cleanup::FunctionContext<'blk, 'tcx>.CleanupHelperMethods<'blk, 'tcx>::trans_cleanups_to_exit_scope::h5da55477fd4a9ca0JXK
22: 0x102b9cf70 - trans::cleanup::FunctionContext<'blk, 'tcx>.CleanupHelperMethods<'blk, 'tcx>::get_or_create_landing_pad::h0f2581b371e44b34laL
23: 0x102afc441 - trans::cleanup::FunctionContext<'blk, 'tcx>.CleanupMethods<'blk, 'tcx>::get_landing_pad::h9e926543e6339004HMK
24: 0x102a44cd2 - trans::base::invoke::h342d1e09138d3c20dws
25: 0x102a6c088 - trans::callee::trans_call_inner::h11309187956010816983
26: 0x102a75fd3 - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
27: 0x102a2725c - trans::expr::trans_into::h708dad454f03ea40ffh
28: 0x102b48018 - trans::_match::mk_binding_alloca::h1331137928913725611
29: 0x102a264be - trans::base::init_local::h4d0c44251f5616e0LMs
30: 0x102a28082 - trans::controlflow::trans_block::h2f4843422ff4f190G6d
31: 0x102a7684d - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
32: 0x102a74d70 - trans::expr::trans_unadjusted::hcd769ff96a7057e9SXh
33: 0x102a28db5 - trans::expr::trans::hb0430202c61993f1Alh
34: 0x102a26590 - trans::base::init_local::h4d0c44251f5616e0LMs
35: 0x102a28082 - trans::controlflow::trans_block::h2f4843422ff4f190G6d
36: 0x102a7684d - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
37: 0x102a74d70 - trans::expr::trans_unadjusted::hcd769ff96a7057e9SXh
38: 0x102a28db5 - trans::expr::trans::hb0430202c61993f1Alh
39: 0x102a26590 - trans::base::init_local::h4d0c44251f5616e0LMs
40: 0x102a28082 - trans::controlflow::trans_block::h2f4843422ff4f190G6d
41: 0x102b086f5 - trans::base::trans_closure::h0cf6b3d7454a8b60Ott
42: 0x102a0f953 - trans::base::trans_fn::h433c7021f2906971xEt
43: 0x102a11262 - trans::monomorphize::monomorphic_fn::h3e749e73218f4787Ytd
44: 0x102a568c1 - trans::callee::trans_fn_ref_with_substs::h80310b0a5f68b440Ybg
45: 0x102a54c97 - trans::callee::trans_fn_ref::hb55f5137d1250e1c1Zf
46: 0x102a52910 - trans::callee::trans::h579a553875033cd7iPf
47: 0x102a68fdb - trans::callee::trans_call_inner::h14040639794469394585
48: 0x102a77410 - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
49: 0x102a2725c - trans::expr::trans_into::h708dad454f03ea40ffh
50: 0x102a283e0 - trans::controlflow::trans_block::h2f4843422ff4f190G6d
51: 0x102b086f5 - trans::base::trans_closure::h0cf6b3d7454a8b60Ott
52: 0x102aab103 - trans::closure::trans_closure_expr::h7d93937ee65119b6qxx
53: 0x102a775e8 - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
54: 0x102a74d70 - trans::expr::trans_unadjusted::hcd769ff96a7057e9SXh
55: 0x102a28db5 - trans::expr::trans::hb0430202c61993f1Alh
56: 0x102a6305f - trans::callee::trans_args::h8911f65b82011b268Rg
57: 0x102a6bf25 - trans::callee::trans_call_inner::h11309187956010816983
58: 0x102a75fd3 - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
59: 0x102a74d70 - trans::expr::trans_unadjusted::hcd769ff96a7057e9SXh
60: 0x102a28db5 - trans::expr::trans::hb0430202c61993f1Alh
61: 0x102a6305f - trans::callee::trans_args::h8911f65b82011b268Rg
62: 0x102a6bf25 - trans::callee::trans_call_inner::h11309187956010816983
63: 0x102a75fd3 - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
64: 0x102a74d70 - trans::expr::trans_unadjusted::hcd769ff96a7057e9SXh
65: 0x102a28db5 - trans::expr::trans::hb0430202c61993f1Alh
66: 0x102a6305f - trans::callee::trans_args::h8911f65b82011b268Rg
67: 0x102a6bf25 - trans::callee::trans_call_inner::h11309187956010816983
68: 0x102a75fd3 - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
69: 0x102a2725c - trans::expr::trans_into::h708dad454f03ea40ffh
70: 0x102a261d2 - trans::controlflow::trans_stmt_semi::h6bfbf1021d5dc568K5d
71: 0x102a28057 - trans::controlflow::trans_block::h2f4843422ff4f190G6d
72: 0x102a7684d - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
73: 0x102a2725c - trans::expr::trans_into::h708dad454f03ea40ffh
74: 0x102b2c230 - trans::_match::trans_match_inner::h429c20c80c5d495diUw
75: 0x102a767e0 - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
76: 0x102a2725c - trans::expr::trans_into::h708dad454f03ea40ffh
77: 0x102a283e0 - trans::controlflow::trans_block::h2f4843422ff4f190G6d
78: 0x102a7a78c - trans::expr::trans_rvalue_stmt_unadjusted::hb626d0fb5e7ed8a1Ani
79: 0x102a273d7 - trans::expr::trans_into::h708dad454f03ea40ffh
80: 0x102b2c230 - trans::_match::trans_match_inner::h429c20c80c5d495diUw
81: 0x102a767e0 - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
82: 0x102a2725c - trans::expr::trans_into::h708dad454f03ea40ffh
83: 0x102b48018 - trans::_match::mk_binding_alloca::h1331137928913725611
84: 0x102a264be - trans::base::init_local::h4d0c44251f5616e0LMs
85: 0x102a28082 - trans::controlflow::trans_block::h2f4843422ff4f190G6d
86: 0x102a7684d - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
87: 0x102a2725c - trans::expr::trans_into::h708dad454f03ea40ffh
88: 0x102a283e0 - trans::controlflow::trans_block::h2f4843422ff4f190G6d
89: 0x102b086f5 - trans::base::trans_closure::h0cf6b3d7454a8b60Ott
90: 0x102a0f953 - trans::base::trans_fn::h433c7021f2906971xEt
91: 0x102a11262 - trans::monomorphize::monomorphic_fn::h3e749e73218f4787Ytd
92: 0x102a568c1 - trans::callee::trans_fn_ref_with_substs::h80310b0a5f68b440Ybg
93: 0x102a54c97 - trans::callee::trans_fn_ref::hb55f5137d1250e1c1Zf
94: 0x102a52910 - trans::callee::trans::h579a553875033cd7iPf
95: 0x102a68fdb - trans::callee::trans_call_inner::h14040639794469394585
96: 0x102a77410 - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
97: 0x102a2725c - trans::expr::trans_into::h708dad454f03ea40ffh
98: 0x102a261d2 - trans::controlflow::trans_stmt_semi::h6bfbf1021d5dc568K5d
99: 0x102a28057 - trans::controlflow::trans_block::h2f4843422ff4f190G6d
100: 0x102a77855 - trans::expr::trans_rvalue_dps_unadjusted::h95d4d9eada139b8dlti
... <frames omitted>
Could not compile `timely`.
To learn more, run the command again with --verbose.
Echidnatron%
This seems to be something I can avoid by switching some logic out of Drop
and in to an explicitly called method (seal()
, in the code). I have a commit checked in that is just a few edits away from the ICE; instructions to reproduce are to comment out the behavior of seal()
in src/progress/nested/subgraph.rs
line 384, uncomment the Drop
impl in the same file, lines 414-416, and then run cargo bench
.