Closed
Description
cc #97331, @eholk. Minimized from https://crater-reports.s3.amazonaws.com/pr-97334/try%23615edd3ad1cf6871c977dc900317cb6c2070fd6b/gh/AsuMagic.markov-irc/log.txt in the crater run for #97334.
Code
fn main() {
let _ = foo();
}
async fn from_config(_: Config) {}
async fn foo() {
from_config(Config {
nickname: None,
..Default::default()
})
.await;
}
#[derive(Default)]
struct Config {
nickname: Option<Box<u8>>,
}
Meta
rustc --version
: 615edd3ad1cf6871c977dc900317cb6c2070fd6b
Error output
error: internal compiler error: compiler/rustc_mir_transform/src/generator.rs:753:13: Broken MIR: generator contains type Config in MIR, but typeck only knows about {ResumeTy, impl Future<Output = ()>, ()} and []
--> src/main.rs:7:16
|
7 | async fn foo() {
| ________________^
8 | | from_config(Config {
9 | | nickname: None,
10 | | ..Default::default()
11 | | })
12 | | .await;
13 | | }
| |_^
Backtrace
thread 'rustc' panicked at 'Box<dyn Any>', /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/compiler/rustc_errors/src/lib.rs:1274:9
stack backtrace:
0: 0x7fd66bab8f4d - std::backtrace_rs::backtrace::libunwind::trace::h48663e6e02482f77
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x7fd66bab8f4d - std::backtrace_rs::backtrace::trace_unsynchronized::hd59d5365552a1436
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7fd66bab8f4d - std::sys_common::backtrace::_print_fmt::ha78e5f373355cd4a
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/std/src/sys_common/backtrace.rs:66:5
3: 0x7fd66bab8f4d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1b6548c67a95d5a1
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/std/src/sys_common/backtrace.rs:45:22
4: 0x7fd66bb14aac - core::fmt::write::hca7ee89651358f58
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/core/src/fmt/mod.rs:1196:17
5: 0x7fd66baaa6e1 - std::io::Write::write_fmt::h4bbc99e2a7952e78
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/std/src/io/mod.rs:1654:15
6: 0x7fd66babbc35 - std::sys_common::backtrace::_print::h26a0e5520b381b04
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/std/src/sys_common/backtrace.rs:48:5
7: 0x7fd66babbc35 - std::sys_common::backtrace::print::h743a45291d5f39cc
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/std/src/sys_common/backtrace.rs:35:9
8: 0x7fd66babbc35 - std::panicking::default_hook::{{closure}}::hf1e2b39dfd75cbc2
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/std/src/panicking.rs:295:22
9: 0x7fd66babb956 - std::panicking::default_hook::h347898a158e52020
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/std/src/panicking.rs:314:9
10: 0x7fd66c282d11 - rustc_driver[2c8e23c1704d1846]::DEFAULT_HOOK::{closure#0}::{closure#0}
11: 0x7fd66babc30a - std::panicking::rust_panic_with_hook::h3cc7233c1fa5669e
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/std/src/panicking.rs:702:17
12: 0x7fd66c44acf1 - std[23f59d9749713536]::panicking::begin_panic::<rustc_errors[4317dacdbe7ee454]::ExplicitBug>::{closure#0}
13: 0x7fd66c447296 - std[23f59d9749713536]::sys_common::backtrace::__rust_end_short_backtrace::<std[23f59d9749713536]::panicking::begin_panic<rustc_errors[4317dacdbe7ee454]::ExplicitBug>::{closure#0}, !>
14: 0x7fd66c45d946 - std[23f59d9749713536]::panicking::begin_panic::<rustc_errors[4317dacdbe7ee454]::ExplicitBug>
15: 0x7fd66c446546 - std[23f59d9749713536]::panic::panic_any::<rustc_errors[4317dacdbe7ee454]::ExplicitBug>
16: 0x7fd66c4445a1 - <rustc_errors[4317dacdbe7ee454]::HandlerInner>::span_bug::<rustc_span[e0494e7a78d29b23]::span_encoding::Span, &alloc[444af299f81eecf5]::string::String>
17: 0x7fd66c4439b0 - <rustc_errors[4317dacdbe7ee454]::Handler>::span_bug::<rustc_span[e0494e7a78d29b23]::span_encoding::Span, &alloc[444af299f81eecf5]::string::String>
18: 0x7fd66c493fb8 - rustc_middle[8b88f8a0f89f93bb]::ty::context::tls::with_opt::<rustc_middle[8b88f8a0f89f93bb]::util::bug::opt_span_bug_fmt<rustc_span[e0494e7a78d29b23]::span_encoding::Span>::{closure#0}, ()>
19: 0x7fd66c493b86 - rustc_middle[8b88f8a0f89f93bb]::util::bug::opt_span_bug_fmt::<rustc_span[e0494e7a78d29b23]::span_encoding::Span>
20: 0x7fd66c493b44 - rustc_middle[8b88f8a0f89f93bb]::util::bug::span_bug_fmt::<rustc_span[e0494e7a78d29b23]::span_encoding::Span>
21: 0x7fd66d6982aa - <rustc_mir_transform[63cdf027e05c8c75]::generator::StateTransform as rustc_middle[8b88f8a0f89f93bb]::mir::MirPass>::run_pass
22: 0x7fd66d6894d0 - rustc_mir_transform[63cdf027e05c8c75]::pass_manager::run_passes
23: 0x7fd66d6ddeed - rustc_mir_transform[63cdf027e05c8c75]::optimized_mir
24: 0x7fd66e7e44a7 - <rustc_query_system[8f6ed9285397c37a]::dep_graph::graph::DepGraph<rustc_middle[8b88f8a0f89f93bb]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[8b88f8a0f89f93bb]::ty::context::TyCtxt, rustc_span[e0494e7a78d29b23]::def_id::DefId, &rustc_middle[8b88f8a0f89f93bb]::mir::Body>
25: 0x7fd66dd93b9d - rustc_query_system[8f6ed9285397c37a]::query::plumbing::try_execute_query::<rustc_query_impl[362fa764a08dc22]::plumbing::QueryCtxt, rustc_query_system[8f6ed9285397c37a]::query::caches::DefaultCache<rustc_span[e0494e7a78d29b23]::def_id::DefId, &rustc_middle[8b88f8a0f89f93bb]::mir::Body>>
26: 0x7fd66cc3c837 - rustc_query_system[8f6ed9285397c37a]::query::plumbing::force_query::<rustc_query_impl[362fa764a08dc22]::queries::optimized_mir, rustc_query_impl[362fa764a08dc22]::plumbing::QueryCtxt>
27: 0x7fd66ccec7b4 - rustc_query_impl[362fa764a08dc22]::query_callbacks::optimized_mir::force_from_dep_node
28: 0x7fd66e1c4dc1 - <rustc_middle[8b88f8a0f89f93bb]::ty::context::TyCtxt as rustc_query_system[8f6ed9285397c37a]::dep_graph::DepContext>::try_force_from_dep_node
29: 0x7fd66dd0725e - <rustc_query_system[8f6ed9285397c37a]::dep_graph::graph::DepGraph<rustc_middle[8b88f8a0f89f93bb]::dep_graph::dep_node::DepKind>>::try_mark_previous_green::<rustc_query_impl[362fa764a08dc22]::plumbing::QueryCtxt>
30: 0x7fd66dd0722c - <rustc_query_system[8f6ed9285397c37a]::dep_graph::graph::DepGraph<rustc_middle[8b88f8a0f89f93bb]::dep_graph::dep_node::DepKind>>::try_mark_previous_green::<rustc_query_impl[362fa764a08dc22]::plumbing::QueryCtxt>
31: 0x7fd66dd0722c - <rustc_query_system[8f6ed9285397c37a]::dep_graph::graph::DepGraph<rustc_middle[8b88f8a0f89f93bb]::dep_graph::dep_node::DepKind>>::try_mark_previous_green::<rustc_query_impl[362fa764a08dc22]::plumbing::QueryCtxt>
32: 0x7fd66ddd1318 - rustc_query_system[8f6ed9285397c37a]::query::plumbing::get_query::<rustc_query_impl[362fa764a08dc22]::queries::layout_of, rustc_query_impl[362fa764a08dc22]::plumbing::QueryCtxt>
33: 0x7fd66dd60fd0 - <rustc_query_impl[362fa764a08dc22]::Queries as rustc_middle[8b88f8a0f89f93bb]::ty::query::QueryEngine>::layout_of
34: 0x7fd66d6cac58 - <rustc_mir_transform[63cdf027e05c8c75]::const_prop_lint::ConstProp as rustc_mir_transform[63cdf027e05c8c75]::pass_manager::MirLint>::run_lint
35: 0x7fd66d6894d0 - rustc_mir_transform[63cdf027e05c8c75]::pass_manager::run_passes
36: 0x7fd66d6dcaf8 - rustc_mir_transform[63cdf027e05c8c75]::mir_drops_elaborated_and_const_checked
37: 0x7fd66e7cc85c - <rustc_query_system[8f6ed9285397c37a]::dep_graph::graph::DepGraph<rustc_middle[8b88f8a0f89f93bb]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[8b88f8a0f89f93bb]::ty::context::TyCtxt, rustc_middle[8b88f8a0f89f93bb]::ty::WithOptConstParam<rustc_span[e0494e7a78d29b23]::def_id::LocalDefId>, &rustc_data_structures[10bde15a730ca175]::steal::Steal<rustc_middle[8b88f8a0f89f93bb]::mir::Body>>
38: 0x7fd66dd70688 - rustc_query_system[8f6ed9285397c37a]::query::plumbing::try_execute_query::<rustc_query_impl[362fa764a08dc22]::plumbing::QueryCtxt, rustc_query_system[8f6ed9285397c37a]::query::caches::DefaultCache<rustc_middle[8b88f8a0f89f93bb]::ty::WithOptConstParam<rustc_span[e0494e7a78d29b23]::def_id::LocalDefId>, &rustc_data_structures[10bde15a730ca175]::steal::Steal<rustc_middle[8b88f8a0f89f93bb]::mir::Body>>>
39: 0x7fd66dd5e8b8 - <rustc_query_impl[362fa764a08dc22]::Queries as rustc_middle[8b88f8a0f89f93bb]::ty::query::QueryEngine>::mir_drops_elaborated_and_const_checked
40: 0x7fd66d6ddd5c - rustc_mir_transform[63cdf027e05c8c75]::optimized_mir
41: 0x7fd66e7e44a7 - <rustc_query_system[8f6ed9285397c37a]::dep_graph::graph::DepGraph<rustc_middle[8b88f8a0f89f93bb]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[8b88f8a0f89f93bb]::ty::context::TyCtxt, rustc_span[e0494e7a78d29b23]::def_id::DefId, &rustc_middle[8b88f8a0f89f93bb]::mir::Body>
42: 0x7fd66dd93b9d - rustc_query_system[8f6ed9285397c37a]::query::plumbing::try_execute_query::<rustc_query_impl[362fa764a08dc22]::plumbing::QueryCtxt, rustc_query_system[8f6ed9285397c37a]::query::caches::DefaultCache<rustc_span[e0494e7a78d29b23]::def_id::DefId, &rustc_middle[8b88f8a0f89f93bb]::mir::Body>>
43: 0x7fd66dd5eb5e - <rustc_query_impl[362fa764a08dc22]::Queries as rustc_middle[8b88f8a0f89f93bb]::ty::query::QueryEngine>::optimized_mir
44: 0x7fd66e1f0d85 - <rustc_middle[8b88f8a0f89f93bb]::ty::context::TyCtxt>::instance_mir
45: 0x7fd66d659e05 - rustc_monomorphize[7d37f3bf7209d2f1]::collector::collect_neighbours
46: 0x7fd66d656762 - rustc_monomorphize[7d37f3bf7209d2f1]::collector::collect_items_rec
47: 0x7fd66e4a9fbb - <rustc_session[cbae6b27f1b96b52]::session::Session>::time::<(), rustc_monomorphize[7d37f3bf7209d2f1]::collector::collect_crate_mono_items::{closure#1}>
48: 0x7fd66e49efeb - rustc_monomorphize[7d37f3bf7209d2f1]::collector::collect_crate_mono_items
49: 0x7fd66e4a5c36 - rustc_monomorphize[7d37f3bf7209d2f1]::partitioning::collect_and_partition_mono_items
50: 0x7fd66cb525d8 - <rustc_middle[8b88f8a0f89f93bb]::dep_graph::dep_node::DepKind as rustc_query_system[8f6ed9285397c37a]::dep_graph::DepKind>::with_deps::<<rustc_query_system[8f6ed9285397c37a]::dep_graph::graph::DepGraph<rustc_middle[8b88f8a0f89f93bb]::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle[8b88f8a0f89f93bb]::ty::context::TyCtxt, (), (&std[23f59d9749713536]::collections::hash::set::HashSet<rustc_span[e0494e7a78d29b23]::def_id::DefId, core[d4370e29f295d5d]::hash::BuildHasherDefault<rustc_hash[e6f0752b427bcd09]::FxHasher>>, &[rustc_middle[8b88f8a0f89f93bb]::mir::mono::CodegenUnit])>::{closure#0}, (&std[23f59d9749713536]::collections::hash::set::HashSet<rustc_span[e0494e7a78d29b23]::def_id::DefId, core[d4370e29f295d5d]::hash::BuildHasherDefault<rustc_hash[e6f0752b427bcd09]::FxHasher>>, &[rustc_middle[8b88f8a0f89f93bb]::mir::mono::CodegenUnit])>
51: 0x7fd66cbcfa81 - <rustc_query_system[8f6ed9285397c37a]::dep_graph::graph::DepGraph<rustc_middle[8b88f8a0f89f93bb]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[8b88f8a0f89f93bb]::ty::context::TyCtxt, (), (&std[23f59d9749713536]::collections::hash::set::HashSet<rustc_span[e0494e7a78d29b23]::def_id::DefId, core[d4370e29f295d5d]::hash::BuildHasherDefault<rustc_hash[e6f0752b427bcd09]::FxHasher>>, &[rustc_middle[8b88f8a0f89f93bb]::mir::mono::CodegenUnit])>
52: 0x7fd66e8b6a47 - rustc_query_system[8f6ed9285397c37a]::query::plumbing::try_execute_query::<rustc_query_impl[362fa764a08dc22]::plumbing::QueryCtxt, rustc_query_system[8f6ed9285397c37a]::query::caches::DefaultCache<(), (&std[23f59d9749713536]::collections::hash::set::HashSet<rustc_span[e0494e7a78d29b23]::def_id::DefId, core[d4370e29f295d5d]::hash::BuildHasherDefault<rustc_hash[e6f0752b427bcd09]::FxHasher>>, &[rustc_middle[8b88f8a0f89f93bb]::mir::mono::CodegenUnit])>>
53: 0x7fd66e8ef4b0 - rustc_query_system[8f6ed9285397c37a]::query::plumbing::get_query::<rustc_query_impl[362fa764a08dc22]::queries::collect_and_partition_mono_items, rustc_query_impl[362fa764a08dc22]::plumbing::QueryCtxt>
54: 0x7fd66e84f042 - <rustc_query_impl[362fa764a08dc22]::Queries as rustc_middle[8b88f8a0f89f93bb]::ty::query::QueryEngine>::collect_and_partition_mono_items
55: 0x7fd66e37a1f5 - <rustc_codegen_llvm[614e335b7ddb2b7c]::LlvmCodegenBackend as rustc_codegen_ssa[87ec517d1ac920df]::traits::backend::CodegenBackend>::codegen_crate
56: 0x7fd66e340f77 - <rustc_session[cbae6b27f1b96b52]::session::Session>::time::<alloc[444af299f81eecf5]::boxed::Box<dyn core[d4370e29f295d5d]::any::Any>, rustc_interface[b04e2cdf424baf9e]::passes::start_codegen::{closure#0}>
57: 0x7fd66e33d38c - <rustc_interface[b04e2cdf424baf9e]::passes::QueryContext>::enter::<<rustc_interface[b04e2cdf424baf9e]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[d4370e29f295d5d]::result::Result<alloc[444af299f81eecf5]::boxed::Box<dyn core[d4370e29f295d5d]::any::Any>, rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>>
58: 0x7fd66e36146f - <rustc_interface[b04e2cdf424baf9e]::queries::Queries>::ongoing_codegen
59: 0x7fd66e309deb - <rustc_interface[b04e2cdf424baf9e]::interface::Compiler>::enter::<rustc_driver[2c8e23c1704d1846]::run_compiler::{closure#1}::{closure#2}, core[d4370e29f295d5d]::result::Result<core[d4370e29f295d5d]::option::Option<rustc_interface[b04e2cdf424baf9e]::queries::Linker>, rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>>
60: 0x7fd66e3325af - rustc_span[e0494e7a78d29b23]::with_source_map::<core[d4370e29f295d5d]::result::Result<(), rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>, rustc_interface[b04e2cdf424baf9e]::interface::create_compiler_and_run<core[d4370e29f295d5d]::result::Result<(), rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>, rustc_driver[2c8e23c1704d1846]::run_compiler::{closure#1}>::{closure#1}>
61: 0x7fd66e31dd94 - rustc_interface[b04e2cdf424baf9e]::interface::create_compiler_and_run::<core[d4370e29f295d5d]::result::Result<(), rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>, rustc_driver[2c8e23c1704d1846]::run_compiler::{closure#1}>
62: 0x7fd66e3082b2 - <scoped_tls[941ee80d8231eb23]::ScopedKey<rustc_span[e0494e7a78d29b23]::SessionGlobals>>::set::<rustc_interface[b04e2cdf424baf9e]::interface::run_compiler<core[d4370e29f295d5d]::result::Result<(), rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>, rustc_driver[2c8e23c1704d1846]::run_compiler::{closure#1}>::{closure#0}, core[d4370e29f295d5d]::result::Result<(), rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>>
63: 0x7fd66e31f37f - std[23f59d9749713536]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[b04e2cdf424baf9e]::util::run_in_thread_pool_with_globals<rustc_interface[b04e2cdf424baf9e]::interface::run_compiler<core[d4370e29f295d5d]::result::Result<(), rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>, rustc_driver[2c8e23c1704d1846]::run_compiler::{closure#1}>::{closure#0}, core[d4370e29f295d5d]::result::Result<(), rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>>::{closure#0}, core[d4370e29f295d5d]::result::Result<(), rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>>
64: 0x7fd66e31f4b9 - <<std[23f59d9749713536]::thread::Builder>::spawn_unchecked_<rustc_interface[b04e2cdf424baf9e]::util::run_in_thread_pool_with_globals<rustc_interface[b04e2cdf424baf9e]::interface::run_compiler<core[d4370e29f295d5d]::result::Result<(), rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>, rustc_driver[2c8e23c1704d1846]::run_compiler::{closure#1}>::{closure#0}, core[d4370e29f295d5d]::result::Result<(), rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>>::{closure#0}, core[d4370e29f295d5d]::result::Result<(), rustc_errors[4317dacdbe7ee454]::ErrorGuaranteed>>::{closure#1} as core[d4370e29f295d5d]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
65: 0x7fd66bac6223 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hae8ffeec5cb662e2
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/alloc/src/boxed.rs:1872:9
66: 0x7fd66bac6223 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h1b179c7aca9d8b98
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/alloc/src/boxed.rs:1872:9
67: 0x7fd66bac6223 - std::sys::unix::thread::Thread::new::thread_start::h3faf721b71afff7d
at /rustc/615edd3ad1cf6871c977dc900317cb6c2070fd6b/library/std/src/sys/unix/thread.rs:108:17
68: 0x7fd66b9e1609 - start_thread
at /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477:8
69: 0x7fd66b8fa133 - clone
at /build/glibc-SzIz7B/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95
70: 0x0 - <unknown>
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.63.0-nightly (615edd3ad 2022-05-23) running on x86_64-unknown-linux-gnu
note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [optimized_mir] optimizing MIR for `foo::{closure#0}`
#1 [layout_of] computing layout of `impl core::future::future::Future<Output = ()>`
#2 [mir_drops_elaborated_and_const_checked] elaborating drops for `main`
#3 [optimized_mir] optimizing MIR for `main`
#4 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
Metadata
Metadata
Assignees
Labels
Area: Async & AwaitAsync-await issues that have been triaged during a working group meeting.Category: This is a bug.Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Relevant to the compiler team, which will review and decide on the PR/issue.ICE tracked in rust-lang/glacier.