Skip to content

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

Closed
@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