Closed
Description
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;
};
}
}
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.