I got this rustc panic when trying to compile:
thread 'rustc' panicked at 'called `Result::unwrap()` on an `Err` value: DistinctSources(DistinctSources { begin: (Real("operations\\test-ops-client\\src\\main.rs"), BytePos(0)), end: (Macros("::async_stream::stream"), BytePos(9989972)) })', src\libcore\result.rs:1165:5
stack backtrace:
0: 0x7ffaf8df5609 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h3466f2fd722d78c7
1: 0x7ffaf8e2391b - core::fmt::write::h2e5f3c8207405fe6
2: 0x7ffaf8de8b24 - <std::io::IoSliceMut as core::fmt::Debug>::fmt::hd136e41cddf77af8
3: 0x7ffaf8df9c19 - std::panicking::take_hook::h5e35238a75e1277c
4: 0x7ffaf8df986c - std::panicking::take_hook::h5e35238a75e1277c
5: 0x7ffacd3324a4 - rustc_driver::report_ice::h60b444f19204d6f2
6: 0x7ffaf8dfa491 - std::panicking::rust_panic_with_hook::hf321b2839bff13c6
7: 0x7ffaf8df9fe0 - std::panicking::begin_panic_fmt::h21e799b306cf0414
8: 0x7ffaf8df9ec9 - rust_begin_unwind
9: 0x7ffaf8e1cdad - core::panicking::panic_fmt::hf55c59c691ea5230
10: 0x7ffaf8e1cfff - core::result::unwrap_failed::hb4c9c636ae774cad
11: 0x7ffacef762fe - rustc_errors::emitter::is_case_difference::h091da5cba1b96b51
12: 0x7ffacef68c70 - rustc_errors::emitter::HumanReadableErrorType::new_emitter::hca9c55c355516f51
13: 0x7ffacef6a395 - <rustc_errors::emitter::EmitterWriter as rustc_errors::emitter::Emitter>::emit_diagnostic::h808a35aa83193d2a
14: 0x7ffaced6d7a3 - <syntax::json::JsonEmitter as rustc_errors::emitter::Emitter>::emit_diagnostic::h351ab0a60aa6a89e
15: 0x7ffacef647ea - rustc_errors::HandlerInner::emit_diagnostic::h1a8d795d29bc338e
16: 0x7ffacef66695 - rustc_errors::diagnostic_builder::DiagnosticBuilder::emit::h3428ff13eb123a61
17: 0x7ffacd9b5448 - rustc_typeck::check::demand::<impl rustc_typeck::check::FnCtxt>::demand_coerce::h43d05335ebaf7db6
18: 0x7ffacd9c06da - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
19: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
20: 0x7ffacd9f8ab3 - rustc_typeck::check::FnCtxt::self_type_matches_expected_vid::h7fe56008994db4e9
21: 0x7ffacd9dee07 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h5564bd803335aae4
22: 0x7ffacd9dce25 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h5564bd803335aae4
23: 0x7ffacd9bb75b - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
24: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
25: 0x7ffacd9c06c3 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
26: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
27: 0x7ffacd9f8ab3 - rustc_typeck::check::FnCtxt::self_type_matches_expected_vid::h7fe56008994db4e9
28: 0x7ffacd9f6dfc - rustc_typeck::check::FnCtxt::field_ty::h7ef132d44fc79116
29: 0x7ffacd9beeff - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
30: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
31: 0x7ffacd9a5332 - rustc_typeck::check::_match::<impl rustc_typeck::check::FnCtxt>::check_match::h3d8321df124299a8
32: 0x7ffacd9bbca5 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
33: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
34: 0x7ffacd9fbfe9 - rustc_typeck::check::FnCtxt::check_stmt::hcff3dc6a1015e719
35: 0x7ffacd9fc726 - rustc_typeck::check::FnCtxt::check_block_no_value::h30619d76466cd3f8
36: 0x7ffacd9bb772 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
37: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
38: 0x7ffacd9fc764 - rustc_typeck::check::FnCtxt::check_block_no_value::h30619d76466cd3f8
39: 0x7ffacd9bb772 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
40: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
41: 0x7ffacd9c8b8e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
42: 0x7ffacd9e68bf - <rustc_typeck::check::GatherLocalsVisitor as rustc::hir::intravisit::Visitor>::visit_pat::h4c7251dcac30d4e1
43: 0x7ffacd9da694 - rustc_typeck::check::closure::<impl rustc_typeck::check::FnCtxt>::check_expr_closure::h0fea02b47d7c163f
44: 0x7ffacd9bb392 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
45: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
46: 0x7ffacd9f8ab3 - rustc_typeck::check::FnCtxt::self_type_matches_expected_vid::h7fe56008994db4e9
47: 0x7ffacd9dee07 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h5564bd803335aae4
48: 0x7ffacd9dce25 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h5564bd803335aae4
49: 0x7ffacd9bb75b - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
50: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
51: 0x7ffacd9f8ab3 - rustc_typeck::check::FnCtxt::self_type_matches_expected_vid::h7fe56008994db4e9
52: 0x7ffacd9dee07 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h5564bd803335aae4
53: 0x7ffacd9dce25 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h5564bd803335aae4
54: 0x7ffacd9bb75b - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
55: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
56: 0x7ffacd9fc764 - rustc_typeck::check::FnCtxt::check_block_no_value::h30619d76466cd3f8
57: 0x7ffacd9bb772 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
58: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
59: 0x7ffacd9fb943 - rustc_typeck::check::FnCtxt::check_decl_initializer::h0ca814ce9278e422
60: 0x7ffacd9fb9ec - rustc_typeck::check::FnCtxt::check_decl_local::he78cc21692c86e5b
61: 0x7ffacd9fbe03 - rustc_typeck::check::FnCtxt::check_stmt::hcff3dc6a1015e719
62: 0x7ffacd9fc726 - rustc_typeck::check::FnCtxt::check_block_no_value::h30619d76466cd3f8
63: 0x7ffacd9bb772 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
64: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
65: 0x7ffacd9bb3ae - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
66: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
67: 0x7ffacd9fc764 - rustc_typeck::check::FnCtxt::check_block_no_value::h30619d76466cd3f8
68: 0x7ffacd9bb772 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
69: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
70: 0x7ffacd9c8b8e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
71: 0x7ffacd9e68bf - <rustc_typeck::check::GatherLocalsVisitor as rustc::hir::intravisit::Visitor>::visit_pat::h4c7251dcac30d4e1
72: 0x7ffacd9da694 - rustc_typeck::check::closure::<impl rustc_typeck::check::FnCtxt>::check_expr_closure::h0fea02b47d7c163f
73: 0x7ffacd9bb392 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
74: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
75: 0x7ffacd9f8ab3 - rustc_typeck::check::FnCtxt::self_type_matches_expected_vid::h7fe56008994db4e9
76: 0x7ffacd9dee07 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h5564bd803335aae4
77: 0x7ffacd9dce25 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h5564bd803335aae4
78: 0x7ffacd9bb75b - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
79: 0x7ffacd9bac4e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
80: 0x7ffacd9c8b8e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::ha50a9bce1da0e041
81: 0x7ffacd9e68bf - <rustc_typeck::check::GatherLocalsVisitor as rustc::hir::intravisit::Visitor>::visit_pat::h4c7251dcac30d4e1
82: 0x7ffacd93caae - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
83: 0x7ffacd9e561f - <rustc_typeck::check::CheckItemTypesVisitor as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_item::h68ee94f62923f0ab
84: 0x7ffacd87251f - <rustc_typeck::check::autoderef::AutoderefKind as core::fmt::Debug>::fmt::h30c18b8ae1ae903e
85: 0x7ffacd89b23c - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
86: 0x7ffacda90920 - <rustc_typeck::variance::test::VarianceTest as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_item::hfd5a16d343a6a78f
87: 0x7ffacd8d30d3 - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
88: 0x7ffacd87251f - <rustc_typeck::check::autoderef::AutoderefKind as core::fmt::Debug>::fmt::h30c18b8ae1ae903e
89: 0x7ffacd89b23c - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
90: 0x7ffacda90920 - <rustc_typeck::variance::test::VarianceTest as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_item::hfd5a16d343a6a78f
91: 0x7ffacd8d30d3 - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
92: 0x7ffacd974283 - rustc_typeck::collect::checked_type_of::hdca92e0dbef378db
93: 0x7ffacd9733fc - <rustc_typeck::collect::has_late_bound_regions::LateBoundRegionsDetector as rustc::hir::intravisit::Visitor>::visit_lifetime::h3e50b77d783b7191
94: 0x7ffacd8741fc - <rustc_typeck::check::autoderef::AutoderefKind as core::fmt::Debug>::fmt::h30c18b8ae1ae903e
95: 0x7ffacd89ae3c - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
96: 0x7ffacda99b20 - <rustc_typeck::variance::test::VarianceTest as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_item::hfd5a16d343a6a78f
97: 0x7ffacd9048e4 - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
98: 0x7ffacda80322 - <rustc_typeck::variance::test::VarianceTest as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_item::hfd5a16d343a6a78f
99: 0x7ffacd9541c3 - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
100: 0x7ffacda87728 - <rustc_typeck::variance::test::VarianceTest as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_item::hfd5a16d343a6a78f
101: 0x7ffacd96f661 - <rustc_typeck::collect::CollectItemTypesVisitor as rustc::hir::intravisit::Visitor>::visit_item::h083fc1a618ad5da1
102: 0x7ffacd875389 - <rustc_typeck::check::autoderef::AutoderefKind as core::fmt::Debug>::fmt::h30c18b8ae1ae903e
103: 0x7ffacd96ee04 - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
104: 0x7ffacd87352d - <rustc_typeck::check::autoderef::AutoderefKind as core::fmt::Debug>::fmt::h30c18b8ae1ae903e
105: 0x7ffacd89b4fc - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
106: 0x7ffacda927b9 - <rustc_typeck::variance::test::VarianceTest as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_item::hfd5a16d343a6a78f
107: 0x7ffacd8e31af - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
108: 0x7ffacd89bd13 - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::he86427c31a261a0c
109: 0x7ffacd8671b7 - rustc_typeck::check_crate::h0c1d8c4e90985630
110: 0x7ffacd86596d - rustc_typeck::check_crate::h0c1d8c4e90985630
111: 0x7ffacd40cef2 - rustc_interface::passes::BoxedResolver::to_resolver_outputs::haf1c08e8f06e50a4
112: 0x7ffacd37db93 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h95cfe5dcbe5f474b
113: 0x7ffacd399d2d - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h95cfe5dcbe5f474b
114: 0x7ffacd30d0bf - <rustc_traits::chalk_context::ChalkContext as chalk_engine::context::ContextOps<rustc_traits::chalk_context::ChalkArenas>>::canonical::hebd46e34a4bbaab5
115: 0x7ffacd32149d - <syntax_pos::symbol::LocalInternedString as core::fmt::Display>::fmt::hbc988d2f67a63424
116: 0x7ffacd39b14b - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h95cfe5dcbe5f474b
117: 0x7ffacd435e9e - rustc_interface::passes::BoxedGlobalCtxt::complete::hd244c8335d3f3c57
118: 0x7ffacd39af1e - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h95cfe5dcbe5f474b
119: 0x7ffacd36e51b - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h95cfe5dcbe5f474b
120: 0x7ffacd351416 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h95cfe5dcbe5f474b
121: 0x7ffacd35395f - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h95cfe5dcbe5f474b
122: 0x7ffacd39256c - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h95cfe5dcbe5f474b
123: 0x7ffaf8e0c032 - _rust_maybe_catch_panic
124: 0x7ffacd3931e2 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h95cfe5dcbe5f474b
125: 0x7ffaf8dd7ab7 - 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
126: 0x7ffaf8e098f7 - std::sys::windows::thread::Thread::new::h4eef306d20d6310e
127: 0x7ffb3aba7bd4 - BaseThreadInitThunk
128: 0x7ffb3b3eced1 - 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/blob/master/CONTRIBUTING.md#bug-reports
note: rustc 1.40.0 (73528e339 2019-12-16) running on x86_64-pc-windows-msvc
note: compiler flags: -C debuginfo=2 -C incremental --crate-type bin
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.40.0 (73528e339 2019-12-16) running on x86_64-pc-windows-msvc
note: compiler flags: -C debuginfo=2 -C incremental --crate-type bin
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [typeck_tables_of] processing `create_wall`
#1 [typeck_tables_of] processing `create_wall::{{closure}}#0`
#2 [type_of] processing `create_wall::{{closure}}#0`
#3 [collect_mod_item_types] collecting item types in top-level module
#4 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `test_ops_client`.
Simple crate is attached. It's an attempt at generating a tonic client from protobuffer files.
The root cause seems to be a build error inside of the async_stream::stream! macro:
let outbound = async_stream::stream! {
let input = CreateWallInput {
file: String::from("test_ops_client"),
user: String::from("test_ops_user"),
wall: Some(WallMsg {
first_pt: Point3Msg {
x: 0.0,
y: 0.0,
z: 0.0,
},
second_pt: Some(Point3Msg {
x: 1.0,
y: 0.0,
z: 0.0,
}),
width: 1.0,
height: 1.0,
}),
};
yield input;
};
first_pt is supposed to be an Option
Could you please try this on nightly and see if it reproduces?
Additionally, could you try to create a reproducer that fits in the playground (without using any external crate save for the standard library)?
Thanks.
I'm pretty sure this error is specifically because of async_stream::stream!, which is a proc macro hack. I'm not reproducing this panic on the latest nightly, though. Instead I get this output:
error[E0308]: mismatched types
--> operations\test-ops-client\src\main.rs:24:27
|
8 | | }
| | ^
| | |
| |____________________________________________________expected enum `std::option::Option`, found struct `geom_kernel::Point3Msg`
| help: try using a variant of the expected enum: `Some(Point3Msg{x: 0.0, y: 0.0, z: 0.0,})`
...
19 | | let outbound = async_stream::stream! {
| | ____________________-
20 | | | let input = CreateWallInput {
21 | | | file: String::from("test_ops_client"),
22 | | | user: String::from("test_ops_user"),
23 | | | wall: Some(WallMsg {
24 | | first_pt: Point3Msg {
| _|___________________________^
... |
38 | | yield input;
39 | | };
| |_____- in this macro invocation
|
= note: expected enum `std::option::Option<geom_kernel::Point3Msg>`
found struct `geom_kernel::Point3Msg`
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
This is in line with what I expect, so it does look like this is fixed in nightly.
How about beta? Maybe there's a PR we should backport?
Same panic on latest beta.
thread 'rustc' panicked at 'called `Result::unwrap()` on an `Err` value: DistinctSources(DistinctSources { begin: (Real("operations\\test-ops-client\\src\\main.rs"), BytePos(0)), end: (Macros("::async_stream::stream"), BytePos(9087160)) })', src\librustc_errors\emitter.rs:2111:17
stack backtrace:
0: 0x7ffac93a7659 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h625fdcbc2a9694d5
1: 0x7ffac93d20bb - core::fmt::write::h235756b81a8b440f
2: 0x7ffac9399294 - <std::io::IoSliceMut as core::fmt::Debug>::fmt::h6e5f44856ecf3f04
3: 0x7ffac93abcfc - std::panicking::take_hook::he2dd45ee22ea221f
4: 0x7ffac93ab94c - std::panicking::take_hook::he2dd45ee22ea221f
5: 0x7ffac33180ca - rustc_driver::report_ice::hcbf9bbe620d9cecc
6: 0x7ffac93ac504 - std::panicking::rust_panic_with_hook::hd8b8e2d75c42801f
7: 0x7ffac93ac065 - rust_begin_unwind
8: 0x7ffac93cec70 - core::panicking::panic_fmt::h886688db175bdb2e
9: 0x7ffac93ce903 - core::result::unwrap_failed::h121585868e30f490
10: 0x7ffac6d4e45d - rustc_errors::emitter::is_case_difference::h1c1bd965681311fc
11: 0x7ffac6d40591 - rustc_errors::emitter::HumanReadableErrorType::new_emitter::h3912f470f18b8c9e
12: 0x7ffac6d42312 - <rustc_errors::emitter::EmitterWriter as rustc_errors::emitter::Emitter>::emit_diagnostic::h2684bc7a0b02c2a7
13: 0x7ffac6d59bb4 - <rustc_errors::json::JsonEmitter as rustc_errors::emitter::Emitter>::emit_diagnostic::hda2d893071c06bb6
14: 0x7ffac6d3e8e6 - rustc_errors::HandlerInner::emit_diagnostic::h42ed1343a44b0cc5
15: 0x7ffac6d4fab5 - rustc_errors::diagnostic_builder::DiagnosticBuilder::emit::h47f2baf3bc188133
16: 0x7ffac56399f8 - rustc_typeck::check::demand::<impl rustc_typeck::check::FnCtxt>::demand_coerce::hb78b4f38c95bbf5d
17: 0x7ffac564456f - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
18: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
19: 0x7ffac5685eba - rustc_typeck::check::FnCtxt::self_type_matches_expected_vid::h6928db0ede289609
20: 0x7ffac5630352 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h2c4d5a631e8148f7
21: 0x7ffac562de5c - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h2c4d5a631e8148f7
22: 0x7ffac563f571 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
23: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
24: 0x7ffac5644558 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
25: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
26: 0x7ffac5689243 - rustc_typeck::check::FnCtxt::check_decl_initializer::h7e8fd8a039af1b50
27: 0x7ffac56892ef - rustc_typeck::check::FnCtxt::check_decl_local::h145f96877dd64543
28: 0x7ffac56897bf - rustc_typeck::check::FnCtxt::check_stmt::he4a62204237b1b76
29: 0x7ffac568a166 - rustc_typeck::check::FnCtxt::check_block_no_value::he5cd3b4c3f8672a2
30: 0x7ffac563f588 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
31: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
32: 0x7ffac568a1a4 - rustc_typeck::check::FnCtxt::check_block_no_value::he5cd3b4c3f8672a2
33: 0x7ffac563f588 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
34: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
35: 0x7ffac564d60e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
36: 0x7ffac56710d0 - <rustc_typeck::check::GatherLocalsVisitor as rustc_hir::intravisit::Visitor>::visit_pat::h6cc40edee6bc0f9e
37: 0x7ffac5633011 - rustc_typeck::check::closure::<impl rustc_typeck::check::FnCtxt>::check_expr_closure::h658039c54cd63e23
38: 0x7ffac563f16c - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
39: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
40: 0x7ffac5685eba - rustc_typeck::check::FnCtxt::self_type_matches_expected_vid::h6928db0ede289609
41: 0x7ffac5630352 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h2c4d5a631e8148f7
42: 0x7ffac562de5c - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h2c4d5a631e8148f7
43: 0x7ffac563f571 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
44: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
45: 0x7ffac5685eba - rustc_typeck::check::FnCtxt::self_type_matches_expected_vid::h6928db0ede289609
46: 0x7ffac5630352 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h2c4d5a631e8148f7
47: 0x7ffac562de5c - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h2c4d5a631e8148f7
48: 0x7ffac563f571 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
49: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
50: 0x7ffac568a1a4 - rustc_typeck::check::FnCtxt::check_block_no_value::he5cd3b4c3f8672a2
51: 0x7ffac563f588 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
52: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
53: 0x7ffac5689243 - rustc_typeck::check::FnCtxt::check_decl_initializer::h7e8fd8a039af1b50
54: 0x7ffac56892ef - rustc_typeck::check::FnCtxt::check_decl_local::h145f96877dd64543
55: 0x7ffac56897bf - rustc_typeck::check::FnCtxt::check_stmt::he4a62204237b1b76
56: 0x7ffac568a166 - rustc_typeck::check::FnCtxt::check_block_no_value::he5cd3b4c3f8672a2
57: 0x7ffac563f588 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
58: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
59: 0x7ffac563f188 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
60: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
61: 0x7ffac568a1a4 - rustc_typeck::check::FnCtxt::check_block_no_value::he5cd3b4c3f8672a2
62: 0x7ffac563f588 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
63: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
64: 0x7ffac564d60e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
65: 0x7ffac56710d0 - <rustc_typeck::check::GatherLocalsVisitor as rustc_hir::intravisit::Visitor>::visit_pat::h6cc40edee6bc0f9e
66: 0x7ffac5633011 - rustc_typeck::check::closure::<impl rustc_typeck::check::FnCtxt>::check_expr_closure::h658039c54cd63e23
67: 0x7ffac563f16c - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
68: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
69: 0x7ffac5685eba - rustc_typeck::check::FnCtxt::self_type_matches_expected_vid::h6928db0ede289609
70: 0x7ffac5630352 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h2c4d5a631e8148f7
71: 0x7ffac562de5c - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt>::check_call::h2c4d5a631e8148f7
72: 0x7ffac563f571 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
73: 0x7ffac563eb87 - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
74: 0x7ffac564d60e - rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation::h4645e25389d427d7
75: 0x7ffac56710d0 - <rustc_typeck::check::GatherLocalsVisitor as rustc_hir::intravisit::Visitor>::visit_pat::h6cc40edee6bc0f9e
76: 0x7ffac55b68ab - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::hc2e8371c3078742d
77: 0x7ffac566f836 - <rustc_typeck::check::fixup_opaque_types::FixupFolder as rustc::ty::fold::TypeFolder>::fold_ty::h592aee909a4c47ac
78: 0x7ffac56a084f - <rustc_typeck::check::check_opaque_for_inheriting_lifetimes::ProhibitOpaqueVisitor as core::fmt::Debug>::fmt::h03b9ea941dd82de1
79: 0x7ffac55098fc - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::hc2e8371c3078742d
80: 0x7ffac570eb86 - <rustc_typeck::check::regionck::RegionCtxt as rustc_hir::intravisit::Visitor>::visit_expr::h2bdabc9927600410
81: 0x7ffac55172c7 - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::hc2e8371c3078742d
82: 0x7ffac566f848 - <rustc_typeck::check::fixup_opaque_types::FixupFolder as rustc::ty::fold::TypeFolder>::fold_ty::h592aee909a4c47ac
83: 0x7ffac56a084f - <rustc_typeck::check::check_opaque_for_inheriting_lifetimes::ProhibitOpaqueVisitor as core::fmt::Debug>::fmt::h03b9ea941dd82de1
84: 0x7ffac55098fc - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::hc2e8371c3078742d
85: 0x7ffac570eb86 - <rustc_typeck::check::regionck::RegionCtxt as rustc_hir::intravisit::Visitor>::visit_expr::h2bdabc9927600410
86: 0x7ffac55172c7 - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::hc2e8371c3078742d
87: 0x7ffac54cd5bb - <rustc_typeck::collect::has_late_bound_regions::LateBoundRegionsDetector as rustc_hir::intravisit::Visitor>::visit_lifetime::hc3b965261ecca9b1
88: 0x7ffac56a252c - <rustc_typeck::check::check_opaque_for_inheriting_lifetimes::ProhibitOpaqueVisitor as core::fmt::Debug>::fmt::h03b9ea941dd82de1
89: 0x7ffac550950c - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::hc2e8371c3078742d
90: 0x7ffac5710256 - <rustc_typeck::check::regionck::RegionCtxt as rustc_hir::intravisit::Visitor>::visit_expr::h2bdabc9927600410
91: 0x7ffac558992c - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::hc2e8371c3078742d
92: 0x7ffac56f5402 - <rustc_typeck::namespace::Namespace as core::fmt::Debug>::fmt::hbfbf22bb8d996fcc
93: 0x7ffac54c6d57 - <rustc_typeck::collect::CollectItemTypesVisitor as rustc_hir::intravisit::Visitor>::visit_item::h16809ad5598ca4cb
94: 0x7ffac55d0399 - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::hc2e8371c3078742d
95: 0x7ffac54c5ed4 - <rustc_typeck::check::upvar::InferBorrowKind as rustc_typeck::expr_use_visitor::Delegate>::mutate::hb458d05bec4d68dd
96: 0x7ffac56a17dd - <rustc_typeck::check::check_opaque_for_inheriting_lifetimes::ProhibitOpaqueVisitor as core::fmt::Debug>::fmt::h03b9ea941dd82de1
97: 0x7ffac5509bbc - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::hc2e8371c3078742d
98: 0x7ffac570e3f0 - <rustc_typeck::check::regionck::RegionCtxt as rustc_hir::intravisit::Visitor>::visit_expr::h2bdabc9927600410
99: 0x7ffac55723e9 - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::hc2e8371c3078742d
100: 0x7ffac5509f74 - <rustc_typeck::outlives::explicit::ExplicitPredicatesMap as core::fmt::Debug>::fmt::hc2e8371c3078742d
101: 0x7ffac54b97cb - rustc_typeck::check_crate::h3487626fb3d3b3cf
102: 0x7ffac34348c1 - rustc_interface::passes::QueryContext::print_stats::h25b51332ab3c20f8
103: 0x7ffac32b4293 - <rustc_span::symbol::SymbolStr as core::fmt::Display>::fmt::h6ddbe188959d8aa3
104: 0x7ffac33078a5 - rustc_driver::pretty::print_after_hir_lowering::h40bb6c52d19325cc
105: 0x7ffac331a91c - <rustc_driver::DEFAULT_HOOK as core::ops::deref::Deref>::deref::h11dcec2ec1184e59
106: 0x7ffac330522d - rustc_driver::pretty::print_after_hir_lowering::h40bb6c52d19325cc
107: 0x7ffac32c03c4 - rustc_driver::pretty::print_after_hir_lowering::h40bb6c52d19325cc
108: 0x7ffac32b0cee - <env_logger::filter::inner::Filter as core::fmt::Display>::fmt::h43fd01c0e47a0ed1
109: 0x7ffac32ae6b9 - <env_logger::filter::inner::Filter as core::fmt::Display>::fmt::h43fd01c0e47a0ed1
110: 0x7ffac32b260c - <env_logger::filter::inner::Filter as core::fmt::Display>::fmt::h43fd01c0e47a0ed1
111: 0x7ffac93bdd22 - _rust_maybe_catch_panic
112: 0x7ffac32c3ba2 - rustc_driver::pretty::print_after_hir_lowering::h40bb6c52d19325cc
113: 0x7ffac9387a07 - 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
114: 0x7ffac93bb5d7 - std::sys::windows::thread::Thread::new::h641608bd6db7dfca
115: 0x7ffb3aba7bd4 - BaseThreadInitThunk
116: 0x7ffb3b3eced1 - 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/blob/master/CONTRIBUTING.md#bug-reports
note: rustc 1.42.0-beta.3 (86f329b41 2020-02-07) running on x86_64-pc-windows-msvc
note: compiler flags: -C debuginfo=2 -C incremental --crate-type bin
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [typeck_tables_of] processing `create_wall`
#1 [typeck_tables_of] processing `create_wall::{{closure}}#0`
#2 [type_of] processing `create_wall::{{closure}}#0`
#3 [collect_mod_item_types] collecting item types in top-level module
#4 [analysis] running analysis passes on this crate
end of query stack
By the way, the tooling for Rust is the best I've ever seen. I can't think of any other language where I can try three different versions of the language on any platform with only three command line calls. Everybody who worked on rustup and cargo deserves every reward you could possibly give them.
Let's find the PR that fixed this on nightly and see if we should beta backport.
@rustbot ping icebreakers-cleanup-crew
Hey Cleanup Crew ICE-breakers! This bug has been identified as a good
"Cleanup ICE-breaking candidate". In case it's useful, here are some
[instructions] for tackling these sorts of bugs. Maybe take a look?
Thanks! <3
cc @AminArria @chrissimpkins @DutchGhost @elshize @ethanboxx @h-michael @HallerPatrick @hdhoang @hellow554 @imtsuki @jakevossen5 @KarlK90 @LeSeulArtichaut @matheus-consoli @mental32 @nmccarty @Noah-Kennedy @pard68 @PeytonT @pierreN @Redblueflame @RobbieClarken @RobertoSnap @robjtede @senden9 @shekohex @sinato @spastorino @turboladen @woshilapin @yerke
If anyone's working on that now, I was able to narrow it down between 2020-01-14 (panic) and 2020-02-01(regular fail); will continue shortly if no one comes up with the answer soon.
I did a bisect test with PANIC = baseline, NORMAL-FAIL-TO-COMPILE = regression. Based on the dates from @elshize (thanks).
cargo-bisect-rustc --prompt --preserve --start 2020-01-14 --end 2020-02-01
eed12bcd0cb281979c4c9ed956b9e41fda2bfaeb finished with exit code Some(101).
please select an action to take:
tested eed12bcd0cb281979c4c9ed956b9e41fda2bfaeb, got Yes
searched toolchains 3761dcd3467441f78939ccb3b341b03b6a7558d7 through 9ed29b6ff6aa2e048b09c27af8f62ee3040bdb37
regression in eed12bcd0cb281979c4c9ed956b9e41fda2bfaeb
searched nightlies: from nightly-2020-01-14 to nightly-2020-02-01
regressed nightly: nightly-2020-01-30
searched commits: from https://github.com/rust-lang/rust/commit/3761dcd3467441f78939ccb3b341b03b6a7558d7 to https://github.com/rust-lang/rust/commit/9ed29b6ff6aa2e048b09c27af8f62ee3040bdb37
regressed commit: https://github.com/rust-lang/rust/commit/eed12bcd0cb281979c4c9ed956b9e41fda2bfaeb
Could the fix PR be #68611? Seems likely given its title
That's the only plausible PR that could have fixed this. As it is already beta/stable-accepted, there's nothing left to be done here. Thanks y'all.
Most helpful comment
Same panic on latest beta.
By the way, the tooling for Rust is the best I've ever seen. I can't think of any other language where I can try three different versions of the language on any platform with only three command line calls. Everybody who worked on rustup and cargo deserves every reward you could possibly give them.