Closed
Description
on Linux x86 with rustc 0.12.0-pre (38eb0e5 2014-09-06 21:46:25 +0000)
trying to compile this code
recieved this output :
error: internal compiler error: fictitious type O in sizing_type_of()
task 'rustc' failed at 'Box<Any>', /home/nate/builds/rust/src/libsyntax/ast_util.rs:776
with trace
stack backtrace:
1: 0x7f902d7bce30 - rt::backtrace::imp::write::h8dfe23bbe5b6cb3bH8q
2: 0x7f902d7bffd0 - failure::on_fail::h69988cd5c6982b70pur
3: 0x7f902df9bd60 - unwind::begin_unwind_inner::h8aba294fe218a26962d
4: 0x7f902c6560a0 - unwind::begin_unwind::h9440727821508612647
5: 0x7f902c656810 - diagnostic::Handler::bug::h9f00b694d9375c0fohF
6: 0x7f902e38e190 - driver::session::Session::bug::hac6c1004371248fcJqE
7: 0x7f902e76c5b0 - middle::trans::type_of::sizing_type_of::h415cb7c1dae89ecaisa
8: 0x7f902e8a3440 - middle::trans::adt::mk_struct::haf9a1713ac7855d1Vzv
9: 0x7f902e7642c0 - middle::trans::adt::represent_type::h0ca33f7bc23af081q4u
10: 0x7f902e76c5b0 - middle::trans::type_of::sizing_type_of::h415cb7c1dae89ecaisa
11: 0x7f902e8a3440 - middle::trans::adt::mk_struct::haf9a1713ac7855d1Vzv
12: 0x7f902e7642c0 - middle::trans::adt::represent_type::h0ca33f7bc23af081q4u
13: 0x7f902e76c5b0 - middle::trans::type_of::sizing_type_of::h415cb7c1dae89ecaisa
14: 0x7f902e77d640 - middle::trans::common::type_is_immediate::hd9df70b62b117494PC6
15: 0x7f902e7dfb40 - middle::trans::type_of::type_of_rust_fn::hc1e5fcf4fc152b8cToa
16: 0x7f902e7f3e70 - middle::trans::base::decl_rust_fn::hfe3b8b580a4229fbrOd
17: 0x7f902e78d9b0 - middle::trans::closure::get_or_create_declaration_if_unboxed_closure::h03876f0f6e5837eeDik
18: 0x7f902e7b21b0 - middle::trans::closure::trans_unboxed_closure::ha810c46b539835e23nk
19: 0x7f902e79c310 - middle::trans::expr::trans_rvalue_dps_unadjusted::hdca93594616d2f57aH4
20: 0x7f902e7584c0 - middle::trans::expr::trans_into::h266bfba8bffd73cayk3
21: 0x7f902e7a7480 - middle::trans::expr::trans_uniq_expr::h7e16b6e8731a308axt5
22: 0x7f902e7a7fb0 - middle::trans::expr::trans_unary::ha876cf428beba7efsp5
23: 0x7f902e79b3b0 - middle::trans::expr::trans_unadjusted::hf27ef48d75242c39I73
24: 0x7f902e759b00 - middle::trans::expr::trans::h6a0ddf2bac5c1913uo3
25: 0x7f902e7584c0 - middle::trans::expr::trans_into::h266bfba8bffd73cayk3
26: 0x7f902e7b0490 - middle::trans::expr::trans_adt::hc2ddefbcf663e510Ug5
27: 0x7f902e7b4000 - middle::trans::expr::trans_struct::closure.121558
28: 0x7f902e79c310 - middle::trans::expr::trans_rvalue_dps_unadjusted::hdca93594616d2f57aH4
29: 0x7f902e7584c0 - middle::trans::expr::trans_into::h266bfba8bffd73cayk3
30: 0x7f902e758940 - middle::trans::controlflow::trans_block::h61b8cbe6a670a70118Y
31: 0x7f902e807030 - middle::trans::base::trans_closure::h2fcf5313d99799bbvSf
32: 0x7f902e748680 - middle::trans::base::trans_fn::h430e6689ffbf4759i4f
33: 0x7f902e748ce0 - middle::trans::monomorphize::monomorphic_fn::h8f2e032a4b7c7a78suY
34: 0x7f902e784100 - middle::trans::callee::trans_fn_ref_with_vtables::h3b4ad9a4f9f1ee50b51
35: 0x7f902e7819a0 - middle::trans::callee::trans_fn_ref::h4f5637d0acc49b83jR1
36: 0x7f902e78e840 - middle::trans::callee::trans_call::closure.121253
37: 0x7f902e7617b0 - middle::trans::callee::trans_call_inner::h0884abd0ece1113f0v2
38: 0x7f902e78e5e0 - middle::trans::callee::trans_call::hf43c12486ccf63725p2
39: 0x7f902e79c310 - middle::trans::expr::trans_rvalue_dps_unadjusted::hdca93594616d2f57aH4
40: 0x7f902e7584c0 - middle::trans::expr::trans_into::h266bfba8bffd73cayk3
41: 0x7f902e85cde0 - middle::trans::_match::mk_binding_alloca::h5198864728530824943
42: 0x7f902e7fe1a0 - middle::trans::_match::store_local::h1895fa7ccb0f86bfruj
43: 0x7f902e757b20 - middle::trans::base::init_local::h4d47e1dc9478c2a9WZe
44: 0x7f902e757030 - middle::trans::controlflow::trans_stmt::h7e7f731061532d0cQ3Y
45: 0x7f902e758940 - middle::trans::controlflow::trans_block::h61b8cbe6a670a70118Y
46: 0x7f902e807030 - middle::trans::base::trans_closure::h2fcf5313d99799bbvSf
47: 0x7f902e748680 - middle::trans::base::trans_fn::h430e6689ffbf4759i4f
48: 0x7f902e743f70 - middle::trans::base::trans_item::h0de37d4922431aed7ng
49: 0x7f902e813150 - middle::trans::base::trans_crate::ha40078ee900793aaGnh
50: 0x7f902ec47d80 - driver::driver::phase_4_translate_to_llvm::h32975243f7ccfa8cHQD
51: 0x7f902ec3f730 - driver::driver::compile_input::h2ebc4a2a4683abeaIsD
52: 0x7f902ecd0fd0 - driver::run_compiler::h52e60497a677e19aZjH
53: 0x7f902ecd0ec0 - driver::main_args::closure.147495
54: 0x7f902e3bd3e0 - task::TaskBuilder<S>::try_future::closure.100103
55: 0x7f902e3bd1e0 - task::TaskBuilder<S>::spawn_internal::closure.100074
56: 0x7f902f776c40 - task::spawn_opts::closure.8408
57: 0x7f902dffa180 - rust_try_inner
58: 0x7f902dffa170 - rust_try
59: 0x7f902df99430 - unwind::try::h1f3abd0962774e26gRd
60: 0x7f902df99290 - task::Task::run::hf9e394d3f7a5234f92c
61: 0x7f902f7769b0 - task::spawn_opts::closure.8348
62: 0x7f902df9ae10 - thread::thread_start::hc7ecb3d08ae7ba93god
63: 0x7f902d278060 - start_thread
64: 0x7f902dc6a489 - __clone
65: 0x0 - <unknown>
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
nathantypanski commentedon Sep 7, 2014
Much more minimal example:
huonw commentedon Sep 7, 2014
cc #16672, #16791
bkoropoff commentedon Oct 17, 2014
Even smaller:
It looks like the
ty_unboxed_closure
variant has no way to represent monomorphization of free variables. It likely needs aSubsts
field added with appropriate plumbing. I'll look into how much work this is tomorrow.bkoropoff commentedon Oct 17, 2014
This looks to be the same as #16791
alexcrichton commentedon Oct 17, 2014
Thanks @bkoropoff! Closing as a dupe.