Skip to content

ICE on rustc 1.41.0-nightly (ae1b871cc 2019-12-06) running on x86_64-pc-windows-msvc #67123

@hatoo

Description

@hatoo

I encounter an ICE:

  • with rustc 1.41.0-nightly (ae1b871 2019-12-06) running on x86_64-pc-windows-msvc
  • when compiling
trait Foo: Sized + 'static { fn new() -> Self; fn foo() { let me = Self::new(); || loop { me; }; } } 

https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=a32267fea2cba804f7449ee0d2b3920e

The Stable compiler outputs

error[E0382]: use of moved value: me

But Nightly crashed.

$ cargo build Compiling generator-ice v0.1.0 (C:\Users\hato2\Desktop\generator-ice) thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', /rustc/ae1b871cca56613b1af1a5121dd24ac810ff4b89\src\libcore\macros\mod.rs:15:40 stack backtrace: 0: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt 1: core::fmt::write 2: <std::io::IoSlice as core::fmt::Debug>::fmt 3: std::panicking::take_hook 4: std::panicking::take_hook 5: rustc_driver::report_ice 6: std::panicking::rust_panic_with_hook 7: rust_begin_unwind 8: core::panicking::panic_fmt 9: core::panicking::panic 10: <rustc_mir::interpret::machine::StackPopInfo as core::fmt::Debug>::fmt 11: <rustc_mir::borrow_check::MirBorrowckCtxt as rustc_mir::dataflow::DataflowResultsConsumer>::visit_terminator_entry 12: <rustc_mir::borrow_check::MirBorrowckCtxt as rustc_mir::dataflow::DataflowResultsConsumer>::visit_terminator_entry 13: <rustc_mir::borrow_check::MirBorrowckCtxt as rustc_mir::dataflow::DataflowResultsConsumer>::visit_terminator_entry 14: <rustc_mir::borrow_check::MirBorrowckCtxt as rustc_mir::dataflow::DataflowResultsConsumer>::visit_statement_entry 15: <rustc_mir::borrow_check::diagnostics::conflict_errors::<impl rustc_mir::borrow_check::MirBorrowckCtxt>::classify_immutable_section::FakeReadCauseFinder as rustc::mir::visit::Visitor>::visit_statement 16: <rustc_mir::build::matches::ArmHasGuard as core::fmt::Debug>::fmt 17: <rustc_mir::borrow_check::diagnostics::conflict_errors::<impl rustc_mir::borrow_check::MirBorrowckCtxt>::classify_immutable_section::FakeReadCauseFinder as rustc::mir::visit::Visitor>::visit_statement 18: <rustc_mir::build::ScopeId as core::fmt::Debug>::fmt 19: <rustc_mir::build::matches::ArmHasGuard as core::fmt::Debug>::fmt 20: <rustc_mir::borrow_check::nll::type_check::TypeVerifier as rustc::mir::visit::Visitor>::visit_body 21: <rustc_mir::borrow_check::nll::type_check::TypeVerifier as rustc::mir::visit::Visitor>::visit_body 22: rustc_mir::borrow_check::nll::facts::write_row 23: rustc_mir::borrow_check::nll::region_infer::values::PlaceholderIndices::lookup_placeholder 24: <rustc_mir::borrow_check::diagnostics::conflict_errors::<impl rustc_mir::borrow_check::MirBorrowckCtxt>::classify_immutable_section::FakeReadCauseFinder as rustc::mir::visit::Visitor>::visit_statement 25: <rustc_mir::build::matches::ArmHasGuard as core::fmt::Debug>::fmt 26: <rustc_mir::borrow_check::diagnostics::conflict_errors::<impl rustc_mir::borrow_check::MirBorrowckCtxt>::classify_immutable_section::FakeReadCauseFinder as rustc::mir::visit::Visitor>::visit_statement 27: <env_logger::filter::inner::Filter as core::fmt::Debug>::fmt 28: <rustc_interface::proc_macro_decls::Finder as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_item 29: <rustc_interface::proc_macro_decls::Finder as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_item 30: <rustc_interface::proc_macro_decls::Finder as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_item 31: <rustc_interface::proc_macro_decls::Finder as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_item 32: rustc_interface::passes::QueryContext::print_stats 33: <syntax_pos::symbol::SymbolStr as core::fmt::Display>::fmt 34: rustc_driver::pretty::print_after_hir_lowering 35: <rustc_driver::Compilation as core::fmt::Debug>::fmt 36: rustc_driver::pretty::print_after_hir_lowering 37: rustc_driver::pretty::print_after_hir_lowering 38: <syntax_pos::symbol::SymbolStr as core::fmt::Display>::fmt 39: <rustc_target::spec::Target as rustc_target::spec::HasTargetSpec>::target_spec 40: <rustc_driver::Compilation as core::fmt::Debug>::fmt 41: <rustc_target::spec::Target as rustc_target::spec::HasTargetSpec>::target_spec 42: _rust_maybe_catch_panic 43: rustc_driver::pretty::print_after_hir_lowering 44: ZN244_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Display$GT$3fmt17 45: std::sys::windows::thread::Thread::new 46: BaseThreadInitThunk 47: RtlUserThreadStart note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. 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/blob/master/CONTRIBUTING.md#bug-reports note: rustc 1.41.0-nightly (ae1b871cc 2019-12-06) running on x86_64-pc-windows-msvc note: compiler flags: -C debuginfo=2 -C incremental --crate-type lib note: some of the compiler flags provided by cargo are hidden query stack during panic: #0 [mir_borrowck] processing `Foo::foo::{{closure}}#0` #1 [mir_borrowck] processing `Foo::foo` #2 [analysis] running analysis passes on this crate end of query stack error: could not compile `generator-ice`. To learn more, run the command again with --verbose. 

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-borrow-checkerArea: The borrow checkerC-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions