Closed
Description
auto-reduced (treereduce-rust):
trait MyTrait {
async fn bar(&self) -> i32;
}
original:
#![feature(async_fn_in_trait)]
#![allow(incomplete_features)]
trait MyTrait {
async fn foo(&self) -> i32;
async fn bar(&self) -> i32;
}
impl MyTrait for i32 {
async fn MyTrait(&self) -> i32 {
*self
}
async fn bar(&self) -> i32 {
self.foo().await
}
}
fn main() {}
Version information
rustc 1.78.0-nightly (fe6157522 2024-03-14)
binary: rustc
commit-hash: fe6157522848604562f83084154274c545fe3a27
commit-date: 2024-03-14
host: x86_64-unknown-linux-gnu
release: 1.78.0-nightly
LLVM version: 18.1.0
Command:
/home/matthias/.rustup/toolchains/master/bin/rustc -Zincremental-verify-ich=yes -Cincremental=<dir> -Cdebuginfo=2
Program output
error[E0670]: `async fn` is not permitted in Rust 2015
--> /tmp/icemaker_global_tempdir.nahpMDltHSnV/rustc_testrunner_tmpdir_reporting.DGRSKJhbAldC/mvce.rs:2:5
|
2 | async fn bar(&self) -> i32;
| ^^^^^ to use `async fn`, switch to Rust 2018 or later
|
= help: pass `--edition 2021` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
error[E0601]: `main` function not found in crate `mvce`
--> /tmp/icemaker_global_tempdir.nahpMDltHSnV/rustc_testrunner_tmpdir_reporting.DGRSKJhbAldC/mvce.rs:3:2
|
3 | }
| ^ consider adding a `main` function to `/tmp/icemaker_global_tempdir.nahpMDltHSnV/rustc_testrunner_tmpdir_reporting.DGRSKJhbAldC/mvce.rs`
thread 'rustc' panicked at /rustc/fe6157522848604562f83084154274c545fe3a27/compiler/rustc_hir/src/stable_hash_impls.rs:97:35:
called `Option::unwrap()` on a `None` value
stack backtrace:
0: 0x7f738718c902 - std::backtrace_rs::backtrace::libunwind::trace::h04d3f68962db70a2
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
1: 0x7f738718c902 - std::backtrace_rs::backtrace::trace_unsynchronized::h8622c2bf3f1d5ffd
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f738718c902 - std::sys_common::backtrace::_print_fmt::h8d75f4d5405ad14b
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/sys_common/backtrace.rs:68:5
3: 0x7f738718c902 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h2c6bd99000dd0bf9
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/sys_common/backtrace.rs:44:22
4: 0x7f73871ddc5c - core::fmt::rt::Argument::fmt::h517cf1f14c25baae
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/core/src/fmt/rt.rs:142:9
5: 0x7f73871ddc5c - core::fmt::write::h99fe5948aa1aba14
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/core/src/fmt/mod.rs:1153:17
6: 0x7f73871817ff - std::io::Write::write_fmt::h01412846dad28bf6
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/io/mod.rs:1843:15
7: 0x7f738718c6d4 - std::sys_common::backtrace::_print::h3470b0baf687e467
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/sys_common/backtrace.rs:47:5
8: 0x7f738718c6d4 - std::sys_common::backtrace::print::h05286ca51f8e1745
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/sys_common/backtrace.rs:34:9
9: 0x7f738718f3db - std::panicking::default_hook::{{closure}}::hd6705566bb345b29
10: 0x7f738718f133 - std::panicking::default_hook::hd1de05b1a0fb6145
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/panicking.rs:292:9
11: 0x7f738a108b4f - std[da7e6d9d2d140271]::panicking::update_hook::<alloc[8351d74e211dacf4]::boxed::Box<rustc_driver_impl[17e7e644b21a572c]::install_ice_hook::{closure#0}>>::{closure#0}
12: 0x7f738718fb40 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he02eef82f40e4d18
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/alloc/src/boxed.rs:2034:9
13: 0x7f738718fb40 - std::panicking::rust_panic_with_hook::h294f7b939906ee86
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/panicking.rs:783:13
14: 0x7f738718f849 - std::panicking::begin_panic_handler::{{closure}}::hc6bf729e15cf864d
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/panicking.rs:649:13
15: 0x7f738718cdd6 - std::sys_common::backtrace::__rust_end_short_backtrace::h003548bc9ef0065f
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/sys_common/backtrace.rs:171:18
16: 0x7f738718f5b4 - rust_begin_unwind
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/panicking.rs:645:5
17: 0x7f73871da175 - core::panicking::panic_fmt::hdbbe1ed9f6bec1af
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/core/src/panicking.rs:72:14
18: 0x7f73871da233 - core::panicking::panic::h5b2a2d202380131b
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/core/src/panicking.rs:145:5
19: 0x7f73871d9f06 - core::option::unwrap_failed::hbafee380a201b79f
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/core/src/option.rs:1985:5
20: 0x7f738ac62ae9 - rustc_query_system[25477918277334a0]::dep_graph::graph::hash_result::<core[7bc0e81c83c7b2c5]::option::Option<&rustc_hir[c53db5b3a21d46be]::hir::OwnerNodes>>
21: 0x7f738ac97109 - rustc_ty_utils[c6744ff33f9121ef]::assoc::feed_hir
22: 0x7f738ac983bb - rustc_ty_utils[c6744ff33f9121ef]::assoc::associated_type_for_impl_trait_in_trait
23: 0x7f738a930cc7 - rustc_query_impl[20a0b58a2f23eb28]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[20a0b58a2f23eb28]::query_impl::associated_type_for_impl_trait_in_trait::dynamic_query::{closure#2}::{closure#0}, rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 4usize]>>
24: 0x7f738baaf6fc - rustc_query_system[25477918277334a0]::query::plumbing::try_execute_query::<rustc_query_impl[20a0b58a2f23eb28]::DynamicConfig<rustc_query_system[25477918277334a0]::query::caches::VecCache<rustc_span[64111255fd428194]::def_id::LocalDefId, rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 4usize]>>, false, false, false>, rustc_query_impl[20a0b58a2f23eb28]::plumbing::QueryCtxt, true>
25: 0x7f738a938a1a - rustc_query_impl[20a0b58a2f23eb28]::query_impl::associated_type_for_impl_trait_in_trait::get_query_incr::__rust_end_short_backtrace
26: 0x7f738ac7aa19 - <core[7bc0e81c83c7b2c5]::iter::adapters::map::Map<indexmap[96378ee9fff0bfc]::set::iter::Iter<rustc_span[64111255fd428194]::def_id::LocalDefId>, rustc_ty_utils[c6744ff33f9121ef]::assoc::associated_types_for_impl_traits_in_associated_fn::{closure#0}> as core[7bc0e81c83c7b2c5]::iter::traits::iterator::Iterator>::next
27: 0x7f738bc7bbc2 - rustc_ty_utils[c6744ff33f9121ef]::assoc::associated_types_for_impl_traits_in_associated_fn
28: 0x7f738bc7b7b4 - rustc_query_impl[20a0b58a2f23eb28]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[20a0b58a2f23eb28]::query_impl::associated_types_for_impl_traits_in_associated_fn::dynamic_query::{closure#2}::{closure#0}, rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 16usize]>>
29: 0x7f738bc7b789 - <rustc_query_impl[20a0b58a2f23eb28]::query_impl::associated_types_for_impl_traits_in_associated_fn::dynamic_query::{closure#2} as core[7bc0e81c83c7b2c5]::ops::function::FnOnce<(rustc_middle[adb49fe0971a482e]::ty::context::TyCtxt, rustc_span[64111255fd428194]::def_id::DefId)>>::call_once
30: 0x7f738b98146a - rustc_query_system[25477918277334a0]::query::plumbing::try_execute_query::<rustc_query_impl[20a0b58a2f23eb28]::DynamicConfig<rustc_query_system[25477918277334a0]::query::caches::DefIdCache<rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[20a0b58a2f23eb28]::plumbing::QueryCtxt, true>
31: 0x7f738b97f8e3 - rustc_query_impl[20a0b58a2f23eb28]::query_impl::associated_types_for_impl_traits_in_associated_fn::get_query_incr::__rust_end_short_backtrace
32: 0x7f738bc7bd90 - rustc_middle[adb49fe0971a482e]::query::plumbing::query_get_at::<rustc_query_system[25477918277334a0]::query::caches::DefIdCache<rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 16usize]>>>
33: 0x7f738bc7a4c6 - rustc_arena[a1eb1bb71a24e11a]::outline::<<rustc_arena[a1eb1bb71a24e11a]::DroplessArena>::alloc_from_iter<rustc_span[64111255fd428194]::def_id::DefId, core[7bc0e81c83c7b2c5]::iter::adapters::chain::Chain<core[7bc0e81c83c7b2c5]::iter::adapters::map::Map<core[7bc0e81c83c7b2c5]::slice::iter::Iter<rustc_hir[c53db5b3a21d46be]::hir::TraitItemRef>, rustc_ty_utils[c6744ff33f9121ef]::assoc::associated_item_def_ids::{closure#0}>, core[7bc0e81c83c7b2c5]::iter::adapters::copied::Copied<core[7bc0e81c83c7b2c5]::iter::adapters::flatten::FlatMap<core[7bc0e81c83c7b2c5]::iter::adapters::filter::Filter<core[7bc0e81c83c7b2c5]::slice::iter::Iter<rustc_hir[c53db5b3a21d46be]::hir::TraitItemRef>, rustc_ty_utils[c6744ff33f9121ef]::assoc::associated_item_def_ids::{closure#1}>, &[rustc_span[64111255fd428194]::def_id::DefId], rustc_ty_utils[c6744ff33f9121ef]::assoc::associated_item_def_ids::{closure#2}>>>>::{closure#0}, &mut [rustc_span[64111255fd428194]::def_id::DefId]>
34: 0x7f738b7f45f0 - rustc_ty_utils[c6744ff33f9121ef]::assoc::associated_item_def_ids
35: 0x7f738b705541 - rustc_query_impl[20a0b58a2f23eb28]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[20a0b58a2f23eb28]::query_impl::associated_item_def_ids::dynamic_query::{closure#2}::{closure#0}, rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 16usize]>>
36: 0x7f738b705515 - <rustc_query_impl[20a0b58a2f23eb28]::query_impl::associated_item_def_ids::dynamic_query::{closure#2} as core[7bc0e81c83c7b2c5]::ops::function::FnOnce<(rustc_middle[adb49fe0971a482e]::ty::context::TyCtxt, rustc_span[64111255fd428194]::def_id::DefId)>>::call_once
37: 0x7f738b98146a - rustc_query_system[25477918277334a0]::query::plumbing::try_execute_query::<rustc_query_impl[20a0b58a2f23eb28]::DynamicConfig<rustc_query_system[25477918277334a0]::query::caches::DefIdCache<rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[20a0b58a2f23eb28]::plumbing::QueryCtxt, true>
38: 0x7f738b97fb87 - rustc_query_impl[20a0b58a2f23eb28]::query_impl::associated_item_def_ids::get_query_incr::__rust_end_short_backtrace
39: 0x7f738bc6b8dd - rustc_ty_utils[c6744ff33f9121ef]::assoc::associated_items
40: 0x7f738bc6b636 - rustc_query_impl[20a0b58a2f23eb28]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[20a0b58a2f23eb28]::query_impl::associated_items::dynamic_query::{closure#2}::{closure#0}, rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 8usize]>>
41: 0x7f738b80d8f9 - rustc_query_system[25477918277334a0]::query::plumbing::try_execute_query::<rustc_query_impl[20a0b58a2f23eb28]::DynamicConfig<rustc_query_system[25477918277334a0]::query::caches::DefIdCache<rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[20a0b58a2f23eb28]::plumbing::QueryCtxt, true>
42: 0x7f738b926d47 - rustc_query_impl[20a0b58a2f23eb28]::query_impl::associated_items::get_query_incr::__rust_end_short_backtrace
43: 0x7f738b4b8254 - rustc_middle[adb49fe0971a482e]::query::plumbing::query_get_at::<rustc_query_system[25477918277334a0]::query::caches::DefIdCache<rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 8usize]>>>
44: 0x7f738bf51203 - rustc_hir_analysis[f25c3b69d0967229]::check::wfcheck::check_trait
45: 0x7f738bae7cfc - rustc_hir_analysis[f25c3b69d0967229]::check::wfcheck::check_well_formed
46: 0x7f738bae64ab - rustc_query_impl[20a0b58a2f23eb28]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[20a0b58a2f23eb28]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 1usize]>>
47: 0x7f738b92d464 - rustc_query_system[25477918277334a0]::query::plumbing::try_execute_query::<rustc_query_impl[20a0b58a2f23eb28]::DynamicConfig<rustc_query_system[25477918277334a0]::query::caches::VecCache<rustc_hir[c53db5b3a21d46be]::hir_id::OwnerId, rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[20a0b58a2f23eb28]::plumbing::QueryCtxt, true>
48: 0x7f738b92cf6f - rustc_query_impl[20a0b58a2f23eb28]::query_impl::check_well_formed::get_query_incr::__rust_end_short_backtrace
49: 0x7f738bae36fa - rustc_hir_analysis[f25c3b69d0967229]::check::wfcheck::check_mod_type_wf
50: 0x7f738bae3537 - rustc_query_impl[20a0b58a2f23eb28]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[20a0b58a2f23eb28]::query_impl::check_mod_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 1usize]>>
51: 0x7f738bae19d3 - rustc_query_system[25477918277334a0]::query::plumbing::try_execute_query::<rustc_query_impl[20a0b58a2f23eb28]::DynamicConfig<rustc_query_system[25477918277334a0]::query::caches::DefaultCache<rustc_span[64111255fd428194]::def_id::LocalModDefId, rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[20a0b58a2f23eb28]::plumbing::QueryCtxt, true>
52: 0x7f738b96804a - rustc_query_impl[20a0b58a2f23eb28]::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
53: 0x7f738b968397 - rustc_hir_analysis[f25c3b69d0967229]::check_crate
54: 0x7f738bb8742a - rustc_interface[2a44aa61faca3666]::passes::analysis
55: 0x7f738bb87065 - rustc_query_impl[20a0b58a2f23eb28]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[20a0b58a2f23eb28]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 1usize]>>
56: 0x7f738c236a22 - rustc_query_system[25477918277334a0]::query::plumbing::try_execute_query::<rustc_query_impl[20a0b58a2f23eb28]::DynamicConfig<rustc_query_system[25477918277334a0]::query::caches::SingleCache<rustc_middle[adb49fe0971a482e]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[20a0b58a2f23eb28]::plumbing::QueryCtxt, true>
57: 0x7f738c236626 - rustc_query_impl[20a0b58a2f23eb28]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
58: 0x7f738bec40c4 - rustc_interface[2a44aa61faca3666]::interface::run_compiler::<core[7bc0e81c83c7b2c5]::result::Result<(), rustc_span[64111255fd428194]::ErrorGuaranteed>, rustc_driver_impl[17e7e644b21a572c]::run_compiler::{closure#0}>::{closure#0}
59: 0x7f738c472545 - std[da7e6d9d2d140271]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[2a44aa61faca3666]::util::run_in_thread_with_globals<rustc_interface[2a44aa61faca3666]::util::run_in_thread_pool_with_globals<rustc_interface[2a44aa61faca3666]::interface::run_compiler<core[7bc0e81c83c7b2c5]::result::Result<(), rustc_span[64111255fd428194]::ErrorGuaranteed>, rustc_driver_impl[17e7e644b21a572c]::run_compiler::{closure#0}>::{closure#0}, core[7bc0e81c83c7b2c5]::result::Result<(), rustc_span[64111255fd428194]::ErrorGuaranteed>>::{closure#0}, core[7bc0e81c83c7b2c5]::result::Result<(), rustc_span[64111255fd428194]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7bc0e81c83c7b2c5]::result::Result<(), rustc_span[64111255fd428194]::ErrorGuaranteed>>
60: 0x7f738c472372 - <<std[da7e6d9d2d140271]::thread::Builder>::spawn_unchecked_<rustc_interface[2a44aa61faca3666]::util::run_in_thread_with_globals<rustc_interface[2a44aa61faca3666]::util::run_in_thread_pool_with_globals<rustc_interface[2a44aa61faca3666]::interface::run_compiler<core[7bc0e81c83c7b2c5]::result::Result<(), rustc_span[64111255fd428194]::ErrorGuaranteed>, rustc_driver_impl[17e7e644b21a572c]::run_compiler::{closure#0}>::{closure#0}, core[7bc0e81c83c7b2c5]::result::Result<(), rustc_span[64111255fd428194]::ErrorGuaranteed>>::{closure#0}, core[7bc0e81c83c7b2c5]::result::Result<(), rustc_span[64111255fd428194]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7bc0e81c83c7b2c5]::result::Result<(), rustc_span[64111255fd428194]::ErrorGuaranteed>>::{closure#1} as core[7bc0e81c83c7b2c5]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
61: 0x7f73871991d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb91162b0b688133b
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/alloc/src/boxed.rs:2020:9
62: 0x7f73871991d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hfe6e861eab2d00fa
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/alloc/src/boxed.rs:2020:9
63: 0x7f73871991d5 - std::sys::pal::unix::thread::Thread::new::thread_start::heab36b33e6209afa
at /rustc/fe6157522848604562f83084154274c545fe3a27/library/std/src/sys/pal/unix/thread.rs:108:17
64: 0x7f7386f8155a - <unknown>
65: 0x7f7386ffea3c - <unknown>
66: 0x0 - <unknown>
error: 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.78.0-nightly (fe6157522 2024-03-14) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z incremental-verify-ich=yes -C incremental=[REDACTED] -C debuginfo=2
query stack during panic:
#0 [associated_type_for_impl_trait_in_trait] creating the associated item corresponding to the opaque type `MyTrait::bar::{opaque#0}`
#1 [associated_types_for_impl_traits_in_associated_fn] creating associated items for opaque types returned by `MyTrait::bar`
#2 [associated_item_def_ids] collecting associated items or fields of `MyTrait`
#3 [associated_items] collecting associated items of `MyTrait`
#4 [check_well_formed] checking that `MyTrait` is well-formed
#5 [check_mod_type_wf] checking that types are well-formed in top-level module
#6 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0601, E0670.
For more information about an error, try `rustc --explain E0601`.
Metadata
Metadata
Assignees
Labels
Category: This is a bug.Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Critical priorityStatus: A Minimal Complete and Verifiable Example has been found for this issueRelevant to the compiler team, which will review and decide on the PR/issue.Performance or correctness regression from stable to nightly.