Skip to content

ICE: 'called Option::unwrap() on a None value', compiler\rustc_metadata\src\rmeta\decoder.rs:1565:75 #79783

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
fawdlstty opened this issue Dec 7, 2020 · 8 comments
Labels
A-metadata Area: Crate metadata E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@fawdlstty
Copy link

fawdlstty commented Dec 7, 2020

recurrence example:
https://github.com/fawdlstty/Minx/tree/cb0d94e10bb69ec16ba69c7ad33246a22813fbcf
error code:
https://github.com/fawdlstty/Minx/blob/cb0d94e10bb69ec16ba69c7ad33246a22813fbcf/src/services/http.rs#L24

Code

match HttpServer::new (|| {
    App::new ()
}).bind ("127.0.0.1:8080") {
    Ok (mut _server) => { _server.run ().await; () },
    Err (_e) => println! ("http listen failed: {}", _e.to_string ()),
};

Meta

rustc --version --verbose:

rustc 1.50.0-nightly (0f6f2d681 2020-12-06)
binary: rustc
commit-hash: 0f6f2d681b39c5f95459cd09cb936b6ceb27cd82
commit-date: 2020-12-06
host: x86_64-pc-windows-msvc
release: 1.50.0-nightly
Backtrace

E:\GitHub\_\Minx>cargo build
   Compiling minx v2020.11.16 (E:\GitHub\_\Minx)
thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', compiler\rustc_metadata\src\rmeta\decoder.rs:1565:75
stack backtrace:
   0:      0x7fede5fb865 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h106ca6f8fb6a294d
   1:      0x7fede62727b - core::fmt::write::h6390b994d95aebdb
   2:      0x7fede5ecefd - <std::io::IoSlice as core::fmt::Debug>::fmt::hd713332ae62141f3
   3:      0x7fede5ffbdd - std::panicking::take_hook::h78f8a454f3a4df82
   4:      0x7fede5ff66a - std::panicking::take_hook::h78f8a454f3a4df82
   5:      0x7fed13b1127 - rustc_driver::report_ice::h4bc3647b6f621de8
   6:      0x7fede600730 - std::panicking::rust_panic_with_hook::h931fd6f26be82856
   7:      0x7fede6001d3 - rust_begin_unwind
   8:      0x7fede5fc20f - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h106ca6f8fb6a294d
   9:      0x7fede600159 - rust_begin_unwind
  10:      0x7fede6232f0 - core::panicking::panic_fmt::h45da916c710b88f7
  11:      0x7fede62323c - core::panicking::panic::h3a7a516f2be28c18
  12:      0x7fed4b52886 - rustc_metadata::dynamic_lib::DynamicLibrary::open::h6e15f450696ffdaf
  13:      0x7fed4cec83d - rustc_metadata::rmeta::decoder::cstore_impl::<impl rustc_middle::middle::cstore::CrateStore for rustc_metadata::creader::CStore>::def_path_hash_to_def_id::hb8b08d53ae47c264
  14:      0x7fed583edd2 - rustc_middle::ty::query::on_disk_cache::OnDiskCache::compute_cnum_map::hbae92ac2867b06ae
  15:      0x7fed564d3d4 - rustc_middle::ty::query::force_from_dep_node::h841e1a791cab1f4a
  16:      0x7fed5b24ea5 - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1
  17:      0x7fed5b24c9a - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1
  18:      0x7fed576375e - rustc_middle::ty::context::TyCtxt::_intern_place_elems::hf379b6ef10105517
  19:      0x7fed5993527 - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1
  20:      0x7fed562c83c - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  21:      0x7fed563b604 - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  22:      0x7fed5647b32 - rustc_middle::ty::print::pretty::provide::hc119ff75f1135c0c
  23:      0x7fed563b8b2 - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  24:      0x7fed5640fcf - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  25:      0x7fed5909ff5 - <rustc_middle::ty::relate::GeneratorWitness as core::fmt::Debug>::fmt::ha4f972aa3c4f9a1b
  26:      0x7fed562eb8a - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  27:      0x7fed563ca2e - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  28:      0x7fed57b414f - rustc_middle::ty::print::pretty::<impl core::fmt::Display for &rustc_middle::ty::TyS>::fmt::hde99ea841c37be94
  29:      0x7fede62727b - core::fmt::write::h6390b994d95aebdb
  30:      0x7fed521adb9 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  31:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  32:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  33:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  34:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  35:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  36:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  37:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  38:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  39:      0x7fed52126af - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtExt>::report_selection_error::ha392eaa7ac2cc3a8
  40:      0x7fed5218efd - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::report_fulfillment_error::hccbb5a44a34f361b
  41:      0x7fed520a608 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtExt>::report_fulfillment_errors::h7cfebedbee09bdc3
  42:      0x7fed3a9b175 - rustc_typeck::check::fn_ctxt::_impl::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::field_ty::h68f41b73d3eac02e
  43:      0x7fed3c7023e - <rustc_hir::hir::Pat as rustc_typeck::mem_categorization::HirNode>::hir_id::h06a7c06bd4550e68
  44:      0x7fed3cef53a - <rustc_typeck::check::fixup_opaque_types::FixupFolder as rustc_middle::ty::fold::TypeFolder>::fold_ty::hf14ff5277beb7ffa
  45:      0x7fed3c1947e - <rustc_typeck::check::op::Op as core::fmt::Debug>::fmt::h65d0ee68b4921492
  46:      0x7fed3b45d76 - <rustc_typeck::check::closure::ExpectedSig as core::fmt::Debug>::fmt::h1a7ec9871c5aa436
  47:      0x7fed3bdb461 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7
  48:      0x7fed3be8f71 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7
  49:      0x7fed3d19dc2 - <rustc_typeck::variance::terms::InferredIndex as core::fmt::Debug>::fmt::he75db09628d6b785
  50:      0x7fed3da3696 - <rustc_typeck::variance::terms::InferredIndex as core::fmt::Debug>::fmt::he75db09628d6b785
  51:      0x7fed3cf4614 - <rustc_typeck::check::CheckItemTypesVisitor as rustc_hir::itemlikevisit::ItemLikeVisitor>::visit_item::h9214ea86e9e730ae
  52:      0x7fed3bb69bd - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7
  53:      0x7fed3b46426 - <rustc_typeck::check::closure::ExpectedSig as core::fmt::Debug>::fmt::h1a7ec9871c5aa436
  54:      0x7fed3be1e61 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7
  55:      0x7fed3becba3 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7
  56:      0x7fed3d9e27c - <rustc_typeck::variance::terms::InferredIndex as core::fmt::Debug>::fmt::he75db09628d6b785
  57:      0x7fed3c35048 - rustc_typeck::check_crate::h17e0c5356e66338a
  58:      0x7fed15dea6a - rustc_interface::passes::QueryContext::print_stats::h34b3c30905286de8
  59:      0x7fed1412e4b - <rustc_expand::mbe::macro_parser::MatcherPosHandle as core::ops::deref::DerefMut>::deref_mut::h130ca4adb9e78d16
  60:      0x7fed1416066 - <rustc_expand::mbe::macro_parser::MatcherPosHandle as core::ops::deref::DerefMut>::deref_mut::h130ca4adb9e78d16
  61:      0x7fed13f7513 - <rustc_driver::args::Error as core::fmt::Debug>::fmt::hb838ed2d57a61e3c
  62:      0x7fed1407826 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h0da38a96661182e5
  63:      0x7fed1393ccc - <rustc_middle::ty::SymbolName as core::fmt::Display>::fmt::he2ea99b1945e8c7f
  64:      0x7fed1417f2b - <rustc_expand::mbe::macro_parser::MatcherPosHandle as core::ops::deref::DerefMut>::deref_mut::h130ca4adb9e78d16
  65:      0x7fed1358b38 - <rustc_codegen_ssa::back::linker::MsvcLinker as rustc_codegen_ssa::back::linker::Linker>::no_crt_objects::h47dd01e667a15f55
  66:      0x7fed13e9aac - <rustc_driver::args::Error as core::fmt::Debug>::fmt::hb838ed2d57a61e3c
  67:      0x7fed1359bfc - <rustc_codegen_ssa::back::linker::MsvcLinker as rustc_codegen_ssa::back::linker::Linker>::no_crt_objects::h47dd01e667a15f55
  68:      0x7fed1400f84 - <rustc_driver::args::Error as core::fmt::Debug>::fmt::hb838ed2d57a61e3c
  69:      0x7fed1408270 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h0da38a96661182e5
  70:      0x7fed1362a3d - <rustc_codegen_ssa::back::linker::MsvcLinker as rustc_codegen_ssa::back::linker::Linker>::no_crt_objects::h47dd01e667a15f55
  71:      0x7fede60f4f7 - std::sys::windows::thread::Thread::new::h05d768f6146b61f1
  72:         0x7713556d - BaseThreadInitThunk
  73:         0x774d372d - RtlUserThreadStart

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.50.0-nightly (0f6f2d681 2020-12-06) running on x86_64-pc-windows-msvc

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental --crate-type bin

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [visible_parent_map] calculating the visible parent map
#1 [typeck] type-checking `<services::http::Http as services::ServiceModule>::async_entry`
#2 [typeck_item_bodies] type-checking all item bodies
#3 [analysis] running analysis passes on this crate
end of query stack
error: internal compiler error: trimmed_def_paths constructed
  |
  = note: delayed at    0: std::backtrace::Backtrace::disabled
             1: std::backtrace::Backtrace::force_capture
             2: rustc_errors::Handler::delay_good_path_bug
             3: <rustc_middle::ty::print::pretty::TraitRefPrintOnlyTraitPath as core::fmt::Debug>::fmt
             4: <rustc_middle::ty::query::Query as rustc_data_structures::stable_hasher::HashStable<rustc_middle::ich::hcx::StableHashingContext>>::hash_stable
             5: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::debug_node
             6: rustc_middle::ty::context::tls::TLV::__getit
             7: rustc_middle::ty::context::TyCtxt::_intern_place_elems
             8: rustc_middle::ty::context::tls::TLV::__getit
             9: rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region
            10: rustc_middle::ty::print::pretty::provide
            11: rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region
            12: rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region
            13: <rustc_middle::ty::relate::GeneratorWitness as core::fmt::Debug>::fmt
            14: rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region
            15: rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region
            16: rustc_middle::ty::print::pretty::<impl core::fmt::Display for &rustc_middle::ty::TyS>::fmt
            17: core::fmt::write
            18: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref
            19: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref
            20: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref
            21: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref
            22: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref
            23: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref
            24: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref
            25: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref
            26: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref
            27: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtExt>::report_selection_error
            28: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::report_fulfillment_error
            29: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtExt>::report_fulfillment_errors
            30: rustc_typeck::check::fn_ctxt::_impl::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::field_ty
            31: <rustc_hir::hir::Pat as rustc_typeck::mem_categorization::HirNode>::hir_id
            32: <rustc_typeck::check::fixup_opaque_types::FixupFolder as rustc_middle::ty::fold::TypeFolder>::fold_ty
            33: <rustc_typeck::check::op::Op as core::fmt::Debug>::fmt
            34: <rustc_typeck::check::closure::ExpectedSig as core::fmt::Debug>::fmt
            35: <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const
            36: <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const
            37: <rustc_typeck::variance::terms::InferredIndex as core::fmt::Debug>::fmt
            38: <rustc_typeck::variance::terms::InferredIndex as core::fmt::Debug>::fmt
            39: <rustc_typeck::check::CheckItemTypesVisitor as rustc_hir::itemlikevisit::ItemLikeVisitor>::visit_item
            40: <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const
            41: <rustc_typeck::check::closure::ExpectedSig as core::fmt::Debug>::fmt
            42: <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const
            43: <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const
            44: <rustc_typeck::variance::terms::InferredIndex as core::fmt::Debug>::fmt
            45: rustc_typeck::check_crate
            46: rustc_interface::passes::QueryContext::print_stats
            47: <rustc_expand::mbe::macro_parser::MatcherPosHandle as core::ops::deref::DerefMut>::deref_mut
            48: <rustc_expand::mbe::macro_parser::MatcherPosHandle as core::ops::deref::DerefMut>::deref_mut
            49: <rustc_driver::args::Error as core::fmt::Debug>::fmt
            50: rustc_ast::util::parser::prec_let_scrutinee_needs_par
            51: <rustc_middle::ty::SymbolName as core::fmt::Display>::fmt
            52: <rustc_expand::mbe::macro_parser::MatcherPosHandle as core::ops::deref::DerefMut>::deref_mut
            53: <rustc_codegen_ssa::back::linker::MsvcLinker as rustc_codegen_ssa::back::linker::Linker>::no_crt_objects
            54: <rustc_driver::args::Error as core::fmt::Debug>::fmt
            55: <rustc_codegen_ssa::back::linker::MsvcLinker as rustc_codegen_ssa::back::linker::Linker>::no_crt_objects
            56: <rustc_driver::args::Error as core::fmt::Debug>::fmt
            57: rustc_ast::util::parser::prec_let_scrutinee_needs_par
            58: <rustc_codegen_ssa::back::linker::MsvcLinker as rustc_codegen_ssa::back::linker::Linker>::no_crt_objects
            59: std::sys::windows::thread::Thread::new
            60: BaseThreadInitThunk
            61: RtlUserThreadStart


thread 'rustc' panicked at 'no warnings or errors encountered even though `delayed_good_path_bugs` issued', compiler\rustc_errors\src\lib.rs:974:13
stack backtrace:
   0:      0x7fede5fb865 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h106ca6f8fb6a294d
   1:      0x7fede62727b - core::fmt::write::h6390b994d95aebdb
   2:      0x7fede5ecefd - <std::io::IoSlice as core::fmt::Debug>::fmt::hd713332ae62141f3
   3:      0x7fede5ffbdd - std::panicking::take_hook::h78f8a454f3a4df82
   4:      0x7fede5ff66a - std::panicking::take_hook::h78f8a454f3a4df82
   5:      0x7fed13b1127 - rustc_driver::report_ice::h4bc3647b6f621de8
   6:      0x7fede600730 - std::panicking::rust_panic_with_hook::h931fd6f26be82856
   7:      0x7fede600201 - rust_begin_unwind
   8:      0x7fede5fc20f - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h106ca6f8fb6a294d
   9:      0x7fede600159 - rust_begin_unwind
  10:      0x7fede60010c - std::panicking::begin_panic_fmt::h33e8bdfb545f007a
  11:      0x7fed5c519e4 - rustc_errors::HandlerInner::delay_as_bug::h5a7d10ea72b1c82f
  12:      0x7fed5c4d122 - <rustc_errors::HandlerInner as core::ops::drop::Drop>::drop::hc04473ab921ca342
  13:      0x7fed13daea7 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h717dc5c57c70fe70
  14:      0x7fed13e509a - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h717dc5c57c70fe70
  15:      0x7fed13fb74c - <rustc_driver::args::Error as core::fmt::Debug>::fmt::hb838ed2d57a61e3c
  16:      0x7fed13ea0ce - <rustc_driver::args::Error as core::fmt::Debug>::fmt::hb838ed2d57a61e3c
  17:      0x7fed5df4ad0 - _rust_alloc_zeroed
  18:      0x7fed5df3f1a - _rust_alloc_zeroed
  19:      0x7fed5defd24 - _rust_alloc_zeroed
  20:      0x7fed5df3281 - _rust_alloc_zeroed
  21:      0x7fed5df063d - _rust_alloc_zeroed
  22:         0x774ebf1d - _chkstk
  23:         0x774bca19 - RtlUnwindEx
  24:         0x77150f2e - RtlUnwindEx
  25:      0x7fed5df01ee - _rust_alloc_zeroed
  26:      0x7fed5df1ef1 - _rust_alloc_zeroed
  27:      0x7fed5df231b - _rust_alloc_zeroed
  28:      0x7fed5df337d - _rust_alloc_zeroed
  29:      0x7fed5df063d - _rust_alloc_zeroed
  30:         0x774ebe9d - _chkstk
  31:         0x774c040a - RtlInitializeResource
  32:         0x774c3c0f - RtlRaiseException
  33:      0x7fefd05b87d - RaiseException
  34:      0x7fede64b8e8 - _udivmodti4
  35:      0x7fede612a71 - _rust_start_panic
  36:      0x7fede6129f9 - _rust_start_panic
  37:      0x7fede600908 - rust_panic
  38:      0x7fede6007b6 - std::panicking::rust_panic_with_hook::h931fd6f26be82856
  39:      0x7fede6001d3 - rust_begin_unwind
  40:      0x7fede5fc20f - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h106ca6f8fb6a294d
  41:      0x7fede600159 - rust_begin_unwind
  42:      0x7fede6232f0 - core::panicking::panic_fmt::h45da916c710b88f7
  43:      0x7fede62323c - core::panicking::panic::h3a7a516f2be28c18
  44:      0x7fed4b52886 - rustc_metadata::dynamic_lib::DynamicLibrary::open::h6e15f450696ffdaf
  45:      0x7fed4cec83d - rustc_metadata::rmeta::decoder::cstore_impl::<impl rustc_middle::middle::cstore::CrateStore for rustc_metadata::creader::CStore>::def_path_hash_to_def_id::hb8b08d53ae47c264
  46:      0x7fed583edd2 - rustc_middle::ty::query::on_disk_cache::OnDiskCache::compute_cnum_map::hbae92ac2867b06ae
  47:      0x7fed564d3d4 - rustc_middle::ty::query::force_from_dep_node::h841e1a791cab1f4a
  48:      0x7fed5b24ea5 - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1
  49:      0x7fed5b24c9a - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1
  50:      0x7fed576375e - rustc_middle::ty::context::TyCtxt::_intern_place_elems::hf379b6ef10105517
  51:      0x7fed5993527 - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1
  52:      0x7fed562c83c - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  53:      0x7fed563b604 - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  54:      0x7fed5647b32 - rustc_middle::ty::print::pretty::provide::hc119ff75f1135c0c
  55:      0x7fed563b8b2 - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  56:      0x7fed5640fcf - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  57:      0x7fed5909ff5 - <rustc_middle::ty::relate::GeneratorWitness as core::fmt::Debug>::fmt::ha4f972aa3c4f9a1b
  58:      0x7fed562eb8a - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  59:      0x7fed563ca2e - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f
  60:      0x7fed57b414f - rustc_middle::ty::print::pretty::<impl core::fmt::Display for &rustc_middle::ty::TyS>::fmt::hde99ea841c37be94
  61:      0x7fede62727b - core::fmt::write::h6390b994d95aebdb
  62:      0x7fed521adb9 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  63:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  64:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  65:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  66:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  67:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  68:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  69:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  70:      0x7fed521ac89 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::get_parent_trait_ref::ha921836971e39e41
  71:      0x7fed52126af - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtExt>::report_selection_error::ha392eaa7ac2cc3a8
  72:      0x7fed5218efd - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::report_fulfillment_error::hccbb5a44a34f361b
  73:      0x7fed520a608 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtExt>::report_fulfillment_errors::h7cfebedbee09bdc3
  74:      0x7fed3a9b175 - rustc_typeck::check::fn_ctxt::_impl::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::field_ty::h68f41b73d3eac02e
  75:      0x7fed3c7023e - <rustc_hir::hir::Pat as rustc_typeck::mem_categorization::HirNode>::hir_id::h06a7c06bd4550e68
  76:      0x7fed3cef53a - <rustc_typeck::check::fixup_opaque_types::FixupFolder as rustc_middle::ty::fold::TypeFolder>::fold_ty::hf14ff5277beb7ffa
  77:      0x7fed3c1947e - <rustc_typeck::check::op::Op as core::fmt::Debug>::fmt::h65d0ee68b4921492
  78:      0x7fed3b45d76 - <rustc_typeck::check::closure::ExpectedSig as core::fmt::Debug>::fmt::h1a7ec9871c5aa436
  79:      0x7fed3bdb461 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7
  80:      0x7fed3be8f71 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7
  81:      0x7fed3d19dc2 - <rustc_typeck::variance::terms::InferredIndex as core::fmt::Debug>::fmt::he75db09628d6b785
  82:      0x7fed3da3696 - <rustc_typeck::variance::terms::InferredIndex as core::fmt::Debug>::fmt::he75db09628d6b785
  83:      0x7fed3cf4614 - <rustc_typeck::check::CheckItemTypesVisitor as rustc_hir::itemlikevisit::ItemLikeVisitor>::visit_item::h9214ea86e9e730ae
  84:      0x7fed3bb69bd - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7
  85:      0x7fed3b46426 - <rustc_typeck::check::closure::ExpectedSig as core::fmt::Debug>::fmt::h1a7ec9871c5aa436
  86:      0x7fed3be1e61 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7
  87:      0x7fed3becba3 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7
  88:      0x7fed3d9e27c - <rustc_typeck::variance::terms::InferredIndex as core::fmt::Debug>::fmt::he75db09628d6b785
  89:      0x7fed3c35048 - rustc_typeck::check_crate::h17e0c5356e66338a
  90:      0x7fed15dea6a - rustc_interface::passes::QueryContext::print_stats::h34b3c30905286de8
  91:      0x7fed1412e4b - <rustc_expand::mbe::macro_parser::MatcherPosHandle as core::ops::deref::DerefMut>::deref_mut::h130ca4adb9e78d16
  92:      0x7fed1416066 - <rustc_expand::mbe::macro_parser::MatcherPosHandle as core::ops::deref::DerefMut>::deref_mut::h130ca4adb9e78d16
  93:      0x7fed13f7513 - <rustc_driver::args::Error as core::fmt::Debug>::fmt::hb838ed2d57a61e3c
  94:      0x7fed1407826 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h0da38a96661182e5
  95:      0x7fed1393ccc - <rustc_middle::ty::SymbolName as core::fmt::Display>::fmt::he2ea99b1945e8c7f
  96:      0x7fed1417f2b - <rustc_expand::mbe::macro_parser::MatcherPosHandle as core::ops::deref::DerefMut>::deref_mut::h130ca4adb9e78d16
  97:      0x7fed1358b38 - <rustc_codegen_ssa::back::linker::MsvcLinker as rustc_codegen_ssa::back::linker::Linker>::no_crt_objects::h47dd01e667a15f55
  98:      0x7fed13e9aac - <rustc_driver::args::Error as core::fmt::Debug>::fmt::hb838ed2d57a61e3c
  99:      0x7fed1359bfc - <rustc_codegen_ssa::back::linker::MsvcLinker as rustc_codegen_ssa::back::linker::Linker>::no_crt_objects::h47dd01e667a15f55
 100:      0x7fed1400f84 - <rustc_driver::args::Error as core::fmt::Debug>::fmt::hb838ed2d57a61e3c
 101:      0x7fed1408270 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h0da38a96661182e5
 102:      0x7fed1362a3d - <rustc_codegen_ssa::back::linker::MsvcLinker as rustc_codegen_ssa::back::linker::Linker>::no_crt_objects::h47dd01e667a15f55
 103:      0x7fede60f4f7 - std::sys::windows::thread::Thread::new::h05d768f6146b61f1
 104:         0x7713556d - BaseThreadInitThunk
 105:         0x774d372d - RtlUserThreadStart

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.50.0-nightly (0f6f2d681 2020-12-06) running on x86_64-pc-windows-msvc

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental --crate-type bin

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
end of query stack
thread panicked while panicking. aborting.
error: could not compile `minx`

Caused by:
  process didn't exit successfully: `rustc --crate-name minx --edition=2018 src\main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=79fa729978b18445 --out-dir E:\GitHub\_\Minx\target\debug\deps -C incremental=E:\GitHub\_\Minx\target\debug\incremental -L dependency=E:\GitHub\_\Minx\target\debug\deps --extern actix=E:\GitHub\_\Minx\target\debug\deps\libactix-ac0b0924fe535a6e.rlib --extern actix_web=E:\GitHub\_\Minx\target\debug\deps\libactix_web-5982602c8341b800.rlib --extern actix_web_actors=E:\GitHub\_\Minx\target\debug\deps\libactix_web_actors-6031667e7ab26ef4.rlib
--extern async_std=E:\GitHub\_\Minx\target\debug\deps\libasync_std-85302f03ebbe7733.rlib --extern async_trait=E:\GitHub\_\Minx\target\debug\deps\async_trait-fb11d953e5565a14.dll --extern chrono=E:\GitHub\_\Minx\target\debug\deps\libchrono-80c3605d5f62f906.rlib --extern serde=E:\GitHub\_\Minx\target\debug\deps\libserde-d556fcd1453ddced.rlib --extern serde_json=E:\GitHub\_\Minx\target\debug\deps\libserde_json-cd88f5c32193f7dd.rlib -L native=E:\GitHub\_\Minx\target\debug\build\brotli-sys-634ca30154564d93\out -L native=E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build -L E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build` (exit code: 0xc000001d, STATUS_ILLEGAL_INSTRUCTION)

E:\GitHub\_\Minx>

@fawdlstty fawdlstty added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 7, 2020
@LeSeulArtichaut LeSeulArtichaut added A-metadata Area: Crate metadata E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example E-needs-bisection Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc labels Dec 7, 2020
@LeSeulArtichaut
Copy link
Contributor

@Aaron1011 could this be due to #74967?

@Aaron1011
Copy link
Member

Opened #79810

@camelid
Copy link
Member

camelid commented Dec 9, 2020

I've seen several people run into this bug, so I requested prioritization.

@camelid camelid changed the title compile error for nightly ICE: 'called Option::unwrap() on a None value', compiler\rustc_metadata\src\rmeta\decoder.rs:1565:75 Dec 9, 2020
@camelid camelid mentioned this issue Dec 9, 2020
@jyn514 jyn514 added E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. and removed E-needs-bisection Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc labels Dec 10, 2020
@jyn514
Copy link
Member

jyn514 commented Dec 10, 2020

#79810 (comment):

This resolves the crash in issue #79783. However, I haven't been able to come up with a minimal reproduction yet, so I'm leaving that issue open for now.

So this just needs a test to be closed.

@fawdlstty
Copy link
Author

I have try to compile the code:

let _bind_str = format! ("0.0.0.0:{}", 2233);
match HttpServer::new (|| {
    App::new ()
}).bind (&_bind_str [..]) {
    Ok (mut _server) => { _server.run ().await; () },
    Err (_e) => println! ("http listen failed: {}", _e.to_string ()),
};

but still catch question,

impl ServiceModule for Http {
    async fn async_entry (&self) {
        // if that code in there, I can't compile
    }
}

#[async_std::main]
async fn main () {
    // if that code in there, everything is okay
}

compile output:

Backtrace

E:\GitHub\_\Minx>cargo build --verbose
       Fresh unicode-xid v0.2.1
       Fresh cfg-if v0.1.10
       Fresh autocfg v1.0.1
       Fresh futures-core v0.3.8
       Fresh lazy_static v1.4.0
       Fresh cfg-if v1.0.0
       Fresh futures-io v0.3.8
       Fresh winapi-build v0.1.1
       Fresh pin-project-lite v0.1.11
       Fresh once_cell v1.5.2
       Fresh slab v0.4.2
       Fresh winapi v0.2.8
       Fresh futures-sink v0.3.8
       Fresh version_check v0.9.2
       Fresh bytes v0.5.6
       Fresh fnv v1.0.7
       Fresh pin-utils v0.1.0
       Fresh iovec v0.1.4
       Fresh smallvec v1.5.1
       Fresh cc v1.0.65
       Fresh scopeguard v1.1.0
       Fresh matches v0.1.8
       Fresh tinyvec_macros v0.1.0
       Fresh percent-encoding v2.1.0
       Fresh copyless v0.1.5
       Fresh adler v0.2.3
       Fresh gimli v0.23.0
       Fresh ppv-lite86 v0.2.10
       Fresh unicode-segmentation v1.7.1
       Fresh itoa v0.4.6
       Fresh match_cfg v0.1.0
       Fresh object v0.22.0
       Fresh either v1.6.1
       Fresh rustc-demangle v0.1.18
       Fresh linked-hash-map v0.5.3
       Fresh quick-error v1.2.3
       Fresh widestring v0.4.3
       Fresh cache-padded v1.1.1
       Fresh pin-project-lite v0.2.0
       Fresh hashbrown v0.9.1
       Fresh waker-fn v1.1.0
       Fresh fastrand v1.4.0
       Fresh regex-syntax v0.6.21
       Fresh parking v2.0.0
       Fresh opaque-debug v0.3.0
       Fresh cpuid-bool v0.1.2
       Fresh mime v0.3.16
       Fresh event-listener v2.5.1
       Fresh mio-uds v0.6.8
       Fresh language-tags v0.2.2
       Fresh vec-arena v1.0.0
       Fresh base64 v0.13.0
       Fresh async-task v4.0.3
       Fresh atomic-waker v1.0.0
       Fresh instant v0.1.9
       Fresh tracing-core v0.1.17
       Fresh thread_local v1.0.1
       Fresh futures-task v0.3.8
       Fresh futures-channel v0.3.8
       Fresh bytestring v0.1.5
       Fresh lock_api v0.4.2
       Fresh unicode-bidi v0.3.4
       Fresh tinyvec v1.1.0
       Fresh form_urlencoded v1.0.0
       Fresh addr2line v0.14.0
       Fresh heck v0.3.1
       Fresh http v0.2.1
       Fresh lru-cache v0.1.2
       Fresh concurrent-queue v1.2.2
       Fresh async-mutex v1.4.0
       Fresh proc-macro2 v1.0.24
       Fresh winapi v0.3.9
       Fresh memchr v2.3.4
       Fresh log v0.4.11
       Fresh libc v0.2.80
       Fresh proc-macro-hack v0.5.19
       Fresh proc-macro-nested v0.1.6
       Fresh bitflags v1.2.1
       Fresh getrandom v0.1.15
       Fresh unicode-normalization v0.1.16
       Fresh const_fn v0.4.3
       Fresh typenum v1.12.0
       Fresh ryu v1.0.5
       Fresh crc32fast v1.2.1
       Fresh byteorder v1.3.4
       Fresh async-channel v1.5.1
       Fresh httparse v1.3.4
       Fresh encoding_rs v0.8.26
       Fresh maybe-uninit v2.0.0
       Fresh quote v1.0.7
       Fresh net2 v0.2.36
       Fresh parking_lot_core v0.8.1
       Fresh socket2 v0.3.17
       Fresh hostname v0.3.1
       Fresh winreg v0.6.2
       Fresh aho-corasick v0.7.15
       Fresh futures-lite v1.11.2
       Fresh nb-connect v1.0.2
       Fresh miniz_oxide v0.4.3
       Fresh tracing v0.1.22
       Fresh indexmap v1.6.0
       Fresh crossbeam-utils v0.7.2
       Fresh kv-log-macro v1.0.7
       Fresh num_cpus v1.13.0
       Fresh num-traits v0.2.14
       Fresh time v0.1.44
       Fresh ws2_32-sys v0.2.1
       Fresh kernel32-sys v0.2.2
       Fresh standback v0.2.13
       Fresh rand_core v0.5.1
       Fresh brotli-sys v0.3.2
       Fresh wepoll-sys v3.0.1
       Fresh idna v0.2.0
       Fresh generic-array v0.14.4
       Fresh crossbeam-utils v0.8.0
       Fresh fxhash v0.2.1
       Fresh syn v1.0.51
       Fresh parking_lot v0.11.1
       Fresh resolv-conf v0.7.0
       Fresh ipconfig v0.2.2
       Fresh backtrace v0.3.55
       Fresh regex v1.4.2
       Fresh flate2 v1.0.19
       Fresh async-executor v1.4.0
       Fresh blocking v1.0.2
       Fresh crossbeam-channel v0.4.4
       Fresh threadpool v1.8.1
       Fresh num-integer v0.1.44
       Fresh miow v0.2.2
       Fresh rand_chacha v0.2.2
       Fresh brotli2 v0.3.2
       Fresh url v2.2.0
       Fresh digest v0.9.0
       Fresh block-buffer v0.9.0
       Fresh polling v2.0.2
       Fresh pin-project-internal v1.0.2
       Fresh futures-macro v0.3.8
       Fresh pin-project-internal v0.4.27
       Fresh derive_more v0.99.11
       Fresh actix-macros v0.1.3
       Fresh thiserror-impl v1.0.22
       Fresh enum-as-inner v0.3.3
       Fresh async-trait v0.1.42
       Fresh serde_derive v1.0.117
       Fresh time-macros-impl v0.1.1
       Fresh actix-web-codegen v0.4.0
       Fresh actix_derive v0.5.0
       Fresh async-attributes v1.1.1
       Fresh mio v0.6.23
       Fresh rand v0.7.3
       Fresh chrono v0.4.19
       Fresh sha-1 v0.9.2
       Fresh async-io v1.2.0
       Fresh pin-project v1.0.2
       Fresh pin-project v0.4.27
       Fresh actix-threadpool v0.3.3
       Fresh thiserror v1.0.22
       Fresh serde v1.0.117
       Fresh time-macros v0.1.1
       Fresh tokio v0.2.23
       Fresh futures-util v0.3.8
       Fresh tracing-futures v0.2.4
       Fresh async-global-executor v1.4.3
       Fresh time v0.2.23
       Fresh serde_json v1.0.59
       Fresh serde_urlencoded v0.7.0
       Fresh actix-router v0.2.5
       Fresh tokio-util v0.3.1
       Fresh actix-rt v1.1.1
       Fresh actix-service v1.0.6
       Fresh futures v0.3.8
       Fresh async-std v1.7.0
       Fresh cookie v0.14.3
       Fresh actix-codec v0.3.0
       Fresh trust-dns-proto v0.19.6
       Fresh h2 v0.2.7
       Fresh actix-utils v2.0.0
       Fresh trust-dns-resolver v0.19.6
       Fresh actix-connect v2.0.0
       Fresh actix-server v1.0.4
       Fresh actix-tls v2.0.0
       Fresh actix v0.10.0
       Fresh actix-http v2.2.0
       Fresh actix-testing v1.0.1
       Fresh awc v2.0.3
       Fresh actix-web v3.3.2
       Fresh actix-web-actors v3.0.0
   Compiling minx v2020.11.16 (E:\GitHub\_\Minx)
     Running `rustc --crate-name minx --edition=2018 src\main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=79fa729978b18445 --out-dir E:\GitHub\_\Minx\target\debug\deps -C incremental=E:\GitHub\_\Minx\target\debug\incremental -L dependency=E:\GitHub\_\Minx\target\debug\deps --extern actix=E:\GitHub\_\Minx\target\debug\deps\libactix-ac0b0924fe535a6e.rlib --extern actix_web=E:\GitHub\_\Minx\target\debug\deps\libactix_web-5982602c8341b800.rlib --extern actix_web_actors=E:\GitHub\_\Minx\target\debug\deps\libactix_web_actors-6031667e7ab26ef4.rlib --extern async_std=E:\GitHub\_\Minx\target\debug\deps\libasync_std-85302f03ebbe7733.rlib --extern async_trait=E:\GitHub\_\Minx\target\debug\deps\async_trait-fb11d953e5565a14.dll --extern chrono=E:\GitHub\_\Minx\target\debug\deps\libchrono-80c3605d5f62f906.rlib --extern serde=E:\GitHub\_\Minx\target\debug\deps\libserde-d556fcd1453ddced.rlib --extern serde_json=E:\GitHub\_\Minx\target\debug\deps\libserde_json-cd88f5c32193f7dd.rlib -L native=E:\GitHub\_\Minx\target\debug\build\brotli-sys-634ca30154564d93\out -L native=E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build -L E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build`
error: future cannot be sent between threads safely
  --> src\services\http.rs:17:34
   |
17 |       async fn async_entry (&self) {
   |  __________________________________^
18 | |         let _bind_str = format! ("0.0.0.0:{}", 2233);
19 | |         match HttpServer::new (|| {
20 | |             App::new ()
...  |
24 | |         };
25 | |     }
   | |_____^ future returned by `__async_entry` is not `Send`
   |
   = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `Rc<[Box<(dyn actix_web::data::DataFactory + 'static)>]>`
note: future is not `Send` as this value is used across an await
  --> src\services\http.rs:22:35
   |
19 |           match HttpServer::new (|| {
   |  _______________-
20 | |             App::new ()
21 | |         }).bind (&_bind_str [..]) {
   | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::app_service::AppInit<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::dev::Body>` which is not `Send`
22 |               Ok (mut _server) => { _server.run ().await; () },
   |                                     ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later
23 |               Err (_e) => println! ("http listen failed: {}", _e.to_string ()),
24 |           };
   |            - the value is later dropped here
   = note: required for the cast to the object type `dyn std::future::Future<Output = ()> + std::marker::Send`

error: future cannot be sent between threads safely
  --> src\services\http.rs:17:34
   |
17 |       async fn async_entry (&self) {
   |  __________________________________^
18 | |         let _bind_str = format! ("0.0.0.0:{}", 2233);
19 | |         match HttpServer::new (|| {
20 | |             App::new ()
...  |
24 | |         };
25 | |     }
   | |_____^ future returned by `__async_entry` is not `Send`
   |
   = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `Rc<[Box<(dyn Fn() -> Pin<Box<(dyn std::future::Future<Output = std::result::Result<Box<(dyn actix_web::data::DataFactory + 'static)>, ()>> + 'static)>> + 'static)>]>`
note: future is not `Send` as this value is used across an await
  --> src\services\http.rs:22:35
   |
19 |           match HttpServer::new (|| {
   |  _______________-
20 | |             App::new ()
21 | |         }).bind (&_bind_str [..]) {
   | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::app_service::AppInit<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::dev::Body>` which is not `Send`
22 |               Ok (mut _server) => { _server.run ().await; () },
   |                                     ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later
23 |               Err (_e) => println! ("http listen failed: {}", _e.to_string ()),
24 |           };
   |            - the value is later dropped here
   = note: required for the cast to the object type `dyn std::future::Future<Output = ()> + std::marker::Send`

error: future cannot be sent between threads safely
  --> src\services\http.rs:17:34
   |
17 |       async fn async_entry (&self) {
   |  __________________________________^
18 | |         let _bind_str = format! ("0.0.0.0:{}", 2233);
19 | |         match HttpServer::new (|| {
20 | |             App::new ()
...  |
24 | |         };
25 | |     }
   | |_____^ future returned by `__async_entry` is not `Send`
   |
   = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `Rc<RefCell<Vec<Box<(dyn actix_web::service::AppServiceFactory + 'static)>>>>`
note: future is not `Send` as this value is used across an await
  --> src\services\http.rs:22:35
   |
19 |           match HttpServer::new (|| {
   |  _______________-
20 | |             App::new ()
21 | |         }).bind (&_bind_str [..]) {
   | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::app_service::AppInit<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::dev::Body>` which is not `Send`
22 |               Ok (mut _server) => { _server.run ().await; () },
   |                                     ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later
23 |               Err (_e) => println! ("http listen failed: {}", _e.to_string ()),
24 |           };
   |            - the value is later dropped here
   = note: required for the cast to the object type `dyn std::future::Future<Output = ()> + std::marker::Send`

error: future cannot be sent between threads safely
  --> src\services\http.rs:17:34
   |
17 |       async fn async_entry (&self) {
   |  __________________________________^
18 | |         let _bind_str = format! ("0.0.0.0:{}", 2233);
19 | |         match HttpServer::new (|| {
20 | |             App::new ()
...  |
24 | |         };
25 | |     }
   | |_____^ future returned by `__async_entry` is not `Send`
   |
   = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `Rc<RefCell<std::option::Option<actix_web::app_service::AppRoutingFactory>>>`
note: future is not `Send` as this value is used across an await
  --> src\services\http.rs:22:35
   |
19 |           match HttpServer::new (|| {
   |  _______________-
20 | |             App::new ()
21 | |         }).bind (&_bind_str [..]) {
   | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::app_service::AppInit<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::dev::Body>` which is not `Send`
22 |               Ok (mut _server) => { _server.run ().await; () },
   |                                     ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later
23 |               Err (_e) => println! ("http listen failed: {}", _e.to_string ()),
24 |           };
   |            - the value is later dropped here
   = note: required for the cast to the object type `dyn std::future::Future<Output = ()> + std::marker::Send`

error: future cannot be sent between threads safely
  --> src\services\http.rs:17:34
   |
17 |       async fn async_entry (&self) {
   |  __________________________________^
18 | |         let _bind_str = format! ("0.0.0.0:{}", 2233);
19 | |         match HttpServer::new (|| {
20 | |             App::new ()
...  |
24 | |         };
25 | |     }
   | |_____^ future returned by `__async_entry` is not `Send`
   |
   = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `Rc<actix_service::boxed::BoxServiceFactory<(), ServiceRequest, ServiceResponse, actix_web::Error, ()>>`
note: future is not `Send` as this value is used across an await
  --> src\services\http.rs:22:35
   |
19 |           match HttpServer::new (|| {
   |  _______________-
20 | |             App::new ()
21 | |         }).bind (&_bind_str [..]) {
   | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::app_service::AppInit<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::dev::Body>` which is not `Send`
22 |               Ok (mut _server) => { _server.run ().await; () },
   |                                     ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later
23 |               Err (_e) => println! ("http listen failed: {}", _e.to_string ()),
24 |           };
   |            - the value is later dropped here
   = note: required for the cast to the object type `dyn std::future::Future<Output = ()> + std::marker::Send`

error: future cannot be sent between threads safely
  --> src\services\http.rs:17:34
   |
17 |       async fn async_entry (&self) {
   |  __________________________________^
18 | |         let _bind_str = format! ("0.0.0.0:{}", 2233);
19 | |         match HttpServer::new (|| {
20 | |             App::new ()
...  |
24 | |         };
25 | |     }
   | |_____^ future returned by `__async_entry` is not `Send`
   |
   = help: the trait `std::marker::Send` is not implemented for `(dyn MessageBody + Unpin + 'static)`
note: future is not `Send` as this value is used across an await
  --> src\services\http.rs:22:35
   |
19 |           match HttpServer::new (|| {
   |  _______________-
20 | |             App::new ()
21 | |         }).bind (&_bind_str [..]) {
   | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::app_service::AppInit<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::dev::Body>` which is not `Send`
22 |               Ok (mut _server) => { _server.run ().await; () },
   |                                     ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later
23 |               Err (_e) => println! ("http listen failed: {}", _e.to_string ()),
24 |           };
   |            - the value is later dropped here
   = note: required for the cast to the object type `dyn std::future::Future<Output = ()> + std::marker::Send`

error: future cannot be sent between threads safely
  --> src\services\http.rs:17:34
   |
17 |       async fn async_entry (&self) {
   |  __________________________________^
18 | |         let _bind_str = format! ("0.0.0.0:{}", 2233);
19 | |         match HttpServer::new (|| {
20 | |             App::new ()
...  |
24 | |         };
25 | |     }
   | |_____^ future returned by `__async_entry` is not `Send`
   |
   = help: the trait `std::marker::Send` is not implemented for `(dyn std::any::Any + 'static)`
note: future is not `Send` as this value is used across an await
  --> src\services\http.rs:22:35
   |
19 |           match HttpServer::new (|| {
   |  _______________-
20 | |             App::new ()
21 | |         }).bind (&_bind_str [..]) {
   | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::app_service::AppInit<actix_web::app_service::AppEntry, actix_web::dev::Body>, actix_web::dev::Body>` which is not `Send`
22 |               Ok (mut _server) => { _server.run ().await; () },
   |                                     ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later
23 |               Err (_e) => println! ("http listen failed: {}", _e.to_string ()),
24 |           };
   |            - the value is later dropped here
   = note: required for the cast to the object type `dyn std::future::Future<Output = ()> + std::marker::Send`

error: aborting due to 7 previous errors

error: could not compile `minx`

Caused by:
  process didn't exit successfully: `rustc --crate-name minx --edition=2018 src\main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=79fa729978b18445 --out-dir E:\GitHub\_\Minx\target\debug\deps -C incremental=E:\GitHub\_\Minx\target\debug\incremental -L dependency=E:\GitHub\_\Minx\target\debug\deps --extern actix=E:\GitHub\_\Minx\target\debug\deps\libactix-ac0b0924fe535a6e.rlib --extern actix_web=E:\GitHub\_\Minx\target\debug\deps\libactix_web-5982602c8341b800.rlib --extern actix_web_actors=E:\GitHub\_\Minx\target\debug\deps\libactix_web_actors-6031667e7ab26ef4.rlib
--extern async_std=E:\GitHub\_\Minx\target\debug\deps\libasync_std-85302f03ebbe7733.rlib --extern async_trait=E:\GitHub\_\Minx\target\debug\deps\async_trait-fb11d953e5565a14.dll --extern chrono=E:\GitHub\_\Minx\target\debug\deps\libchrono-80c3605d5f62f906.rlib --extern serde=E:\GitHub\_\Minx\target\debug\deps\libserde-d556fcd1453ddced.rlib --extern serde_json=E:\GitHub\_\Minx\target\debug\deps\libserde_json-cd88f5c32193f7dd.rlib -L native=E:\GitHub\_\Minx\target\debug\build\brotli-sys-634ca30154564d93\out -L native=E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build -L E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build` (exit code: 1)

E:\GitHub\_\Minx>

is that my question?

@camelid
Copy link
Member

camelid commented Dec 11, 2020

Should I-prioritize be removed given that all this needs is a test?

@jyn514 jyn514 removed the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label Dec 11, 2020
@camelid
Copy link
Member

camelid commented Jan 21, 2021

I believe this still needs a test?

@camelid camelid reopened this Jan 21, 2021
@estebank estebank added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ and removed I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ C-bug Category: This is a bug. labels Oct 20, 2023
@jackh726
Copy link
Member

Given that this has been fixed for 3 years and nobody has added a test for this, I've going to close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-metadata Area: Crate metadata E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

7 participants