Closed
Description
Code
type TranslateFn = Box<dyn Fn(String, String) -> String>;
pub struct DeviceCluster {
devices: Vec<Device>,
}
impl DeviceCluster {
pub async fn do_something(&mut self) -> Result<String, Box<dyn std::error::Error>> {
let mut last_error: Box<dyn std::error::Error>;
for device in &mut self.devices {
match device.do_something().await {
Ok(info) => {
return Ok(info);
}
Err(e) => {}
}
}
Err(last_error)
}
}
pub struct Device {
translate_fn: Option<TranslateFn>,
}
impl Device {
pub async fn do_something(&mut self) -> Result<String, Box<dyn std::error::Error>> {
Ok(String::from(""))
}
}
fn main() {}
Meta
rustc --version --verbose
:
rustc 1.66.0-nightly (a24a020e6 2022-10-18)
binary: rustc
commit-hash: a24a020e6d926dffe6b472fc647978f92269504e
commit-date: 2022-10-18
host: aarch64-apple-darwin
release: 1.66.0-nightly
LLVM version: 15.0.2
Error output
thread 'rustc' panicked at 'index out of bounds: the len is 0 but the index is 32', /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ena-0.14.0/src/snapshot_vec.rs:199:10
Backtrace
stack backtrace:
0: 0x10183bf00 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h75eddecae857d5a5
1: 0x101886918 - core::fmt::write::hcbbbc43d9af70423
2: 0x10182eb14 - std::io::Write::write_fmt::h76aab80ad6f7047e
3: 0x10183bd14 - std::sys_common::backtrace::print::hf1b44b262adbaf15
4: 0x10183e89c - std::panicking::default_hook::{{closure}}::h8c17fa758efd664c
5: 0x10183e5f4 - std::panicking::default_hook::h5c1d264711b6ff85
6: 0x1096cd38c - rustc_driver[5beba0b70548b2dd]::DEFAULT_HOOK::{closure#0}::{closure#0}
7: 0x10183efac - std::panicking::rust_panic_with_hook::hbbbd53554a56360e
8: 0x10183ed94 - ___umodti3
9: 0x10183c368 - std::sys_common::backtrace::__rust_end_short_backtrace::h00b19a7dbc8a1d97
10: 0x10183eae8 - _rust_begin_unwind
11: 0x1018b22a8 - core::panicking::panic_fmt::hb76122fd29fa280d
12: 0x1018b238c - core::panicking::panic_bounds_check::he28cb42adadba34f
13: 0x10d26bf5c - <ena[ca51887d8cb28e02]::unify::UnificationTable<ena[ca51887d8cb28e02]::unify::backing_vec::InPlace<rustc_middle[f1d8bc67048538a2]::infer::unify_key::RegionVidKey, &mut alloc[f7b22d3596a55001]::vec::Vec<ena[ca51887d8cb28e02]::unify::VarValue<rustc_middle[f1d8bc67048538a2]::infer::unify_key::RegionVidKey>>, &mut rustc_infer[297b7eaa1aa801dc]::infer::undo_log::InferCtxtUndoLogs>>>::uninlined_get_root_key
14: 0x10d1ef0d8 - <rustc_infer[297b7eaa1aa801dc]::infer::canonical::canonicalizer::Canonicalizer as rustc_middle[f1d8bc67048538a2]::ty::fold::TypeFolder>::fold_region
15: 0x10d1e2e10 - <rustc_middle[f1d8bc67048538a2]::ty::Ty as rustc_middle[f1d8bc67048538a2]::ty::fold::TypeSuperFoldable>::super_fold_with::<rustc_infer[297b7eaa1aa801dc]::infer::canonical::canonicalizer::Canonicalizer>
16: 0x10d268ecc - <&rustc_middle[f1d8bc67048538a2]::ty::list::List<rustc_middle[f1d8bc67048538a2]::ty::subst::GenericArg> as rustc_middle[f1d8bc67048538a2]::ty::fold::TypeFoldable>::try_fold_with::<rustc_infer[297b7eaa1aa801dc]::infer::canonical::canonicalizer::Canonicalizer>
17: 0x10d1e2c5c - <rustc_middle[f1d8bc67048538a2]::ty::Ty as rustc_middle[f1d8bc67048538a2]::ty::fold::TypeSuperFoldable>::super_fold_with::<rustc_infer[297b7eaa1aa801dc]::infer::canonical::canonicalizer::Canonicalizer>
18: 0x10d0bbcf4 - <&rustc_middle[f1d8bc67048538a2]::ty::list::List<rustc_middle[f1d8bc67048538a2]::ty::subst::GenericArg> as rustc_middle[f1d8bc67048538a2]::ty::fold::TypeFoldable>::try_fold_with::<rustc_infer[297b7eaa1aa801dc]::infer::canonical::canonicalizer::Canonicalizer>
19: 0x10d19bf38 - <rustc_middle[f1d8bc67048538a2]::ty::PredicateKind as rustc_middle[f1d8bc67048538a2]::ty::fold::TypeFoldable>::try_fold_with::<rustc_infer[297b7eaa1aa801dc]::infer::canonical::canonicalizer::Canonicalizer>
20: 0x10d1a4c30 - <rustc_middle[f1d8bc67048538a2]::ty::Predicate as rustc_middle[f1d8bc67048538a2]::ty::fold::TypeSuperFoldable>::super_fold_with::<rustc_infer[297b7eaa1aa801dc]::infer::canonical::canonicalizer::Canonicalizer>
21: 0x10d0b2360 - <rustc_infer[297b7eaa1aa801dc]::infer::canonical::canonicalizer::Canonicalizer>::canonicalize::<rustc_middle[f1d8bc67048538a2]::ty::ParamEnvAnd<rustc_middle[f1d8bc67048538a2]::ty::Predicate>>
22: 0x10d12dd68 - <rustc_infer[297b7eaa1aa801dc]::infer::InferCtxt as rustc_trait_selection[c48d1355dee1d92e]::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation
23: 0x10d12c59c - <rustc_infer[297b7eaa1aa801dc]::infer::InferCtxt as rustc_trait_selection[c48d1355dee1d92e]::infer::InferCtxtExt>::type_implements_trait
24: 0x10c263434 - <rustc_borrowck[5f3c42b45168b1f9]::MirBorrowckCtxt>::report_use_of_moved_or_uninitialized
25: 0x10c27a268 - <rustc_borrowck[5f3c42b45168b1f9]::MirBorrowckCtxt>::check_if_full_path_is_moved
26: 0x10c27a330 - <rustc_borrowck[5f3c42b45168b1f9]::MirBorrowckCtxt>::check_if_path_or_subpath_is_moved
27: 0x10c279ee0 - <rustc_borrowck[5f3c42b45168b1f9]::MirBorrowckCtxt>::consume_operand
28: 0x10c2750a8 - <rustc_borrowck[5f3c42b45168b1f9]::MirBorrowckCtxt as rustc_mir_dataflow[cf1a0e20c7b044ea]::framework::visitor::ResultsVisitor>::visit_statement_before_primary_effect
29: 0x10c2be67c - <rustc_mir_dataflow[cf1a0e20c7b044ea]::framework::direction::Forward as rustc_mir_dataflow[cf1a0e20c7b044ea]::framework::direction::Direction>::visit_results_in_block::<rustc_borrowck[5f3c42b45168b1f9]::dataflow::BorrowckAnalyses<rustc_index[1c9716e844797a56]::bit_set::BitSet<rustc_borrowck[5f3c42b45168b1f9]::dataflow::BorrowIndex>, rustc_index[1c9716e844797a56]::bit_set::ChunkedBitSet<rustc_mir_dataflow[cf1a0e20c7b044ea]::move_paths::MovePathIndex>, rustc_index[1c9716e844797a56]::bit_set::ChunkedBitSet<rustc_mir_dataflow[cf1a0e20c7b044ea]::move_paths::InitIndex>>, rustc_borrowck[5f3c42b45168b1f9]::dataflow::BorrowckAnalyses<rustc_mir_dataflow[cf1a0e20c7b044ea]::framework::engine::Results<rustc_borrowck[5f3c42b45168b1f9]::dataflow::Borrows>, rustc_mir_dataflow[cf1a0e20c7b044ea]::framework::engine::Results<rustc_mir_dataflow[cf1a0e20c7b044ea]::impls::MaybeUninitializedPlaces>, rustc_mir_dataflow[cf1a0e20c7b044ea]::framework::engine::Results<rustc_mir_dataflow[cf1a0e20c7b044ea]::impls::EverInitializedPlaces>>, rustc_borrowck[5f3c42b45168b1f9]::MirBorrowckCtxt>
30: 0x10c204764 - rustc_mir_dataflow[cf1a0e20c7b044ea]::framework::visitor::visit_results::<rustc_borrowck[5f3c42b45168b1f9]::dataflow::BorrowckAnalyses<rustc_index[1c9716e844797a56]::bit_set::BitSet<rustc_borrowck[5f3c42b45168b1f9]::dataflow::BorrowIndex>, rustc_index[1c9716e844797a56]::bit_set::ChunkedBitSet<rustc_mir_dataflow[cf1a0e20c7b044ea]::move_paths::MovePathIndex>, rustc_index[1c9716e844797a56]::bit_set::ChunkedBitSet<rustc_mir_dataflow[cf1a0e20c7b044ea]::move_paths::InitIndex>>, rustc_borrowck[5f3c42b45168b1f9]::dataflow::BorrowckAnalyses<rustc_mir_dataflow[cf1a0e20c7b044ea]::framework::engine::Results<rustc_borrowck[5f3c42b45168b1f9]::dataflow::Borrows>, rustc_mir_dataflow[cf1a0e20c7b044ea]::framework::engine::Results<rustc_mir_dataflow[cf1a0e20c7b044ea]::impls::MaybeUninitializedPlaces>, rustc_mir_dataflow[cf1a0e20c7b044ea]::framework::engine::Results<rustc_mir_dataflow[cf1a0e20c7b044ea]::impls::EverInitializedPlaces>>, core[c7453568e13111fb]::iter::adapters::map::Map<rustc_middle[f1d8bc67048538a2]::mir::traversal::ReversePostorderIter, rustc_borrowck[5f3c42b45168b1f9]::do_mir_borrowck::{closure#2}>, rustc_borrowck[5f3c42b45168b1f9]::MirBorrowckCtxt>
31: 0x10c280370 - rustc_borrowck[5f3c42b45168b1f9]::do_mir_borrowck
32: 0x10c274bd0 - rustc_borrowck[5f3c42b45168b1f9]::mir_borrowck
33: 0x10c25dc20 - <rustc_borrowck[5f3c42b45168b1f9]::provide::{closure#0} as core[c7453568e13111fb]::ops::function::FnOnce<(rustc_middle[f1d8bc67048538a2]::ty::context::TyCtxt, rustc_span[ccb95ac7a2fc6855]::def_id::LocalDefId)>>::call_once
34: 0x10c890e7c - <rustc_query_system[5d37595598e841cb]::dep_graph::graph::DepGraph<rustc_middle[f1d8bc67048538a2]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[f1d8bc67048538a2]::ty::context::TyCtxt, rustc_span[ccb95ac7a2fc6855]::def_id::LocalDefId, &rustc_middle[f1d8bc67048538a2]::mir::query::BorrowCheckResult>
35: 0x10c62ff30 - rustc_query_system[5d37595598e841cb]::query::plumbing::try_execute_query::<rustc_query_impl[6e3cb062acfff8c8]::plumbing::QueryCtxt, rustc_query_system[5d37595598e841cb]::query::caches::DefaultCache<rustc_span[ccb95ac7a2fc6855]::def_id::LocalDefId, &rustc_middle[f1d8bc67048538a2]::mir::query::BorrowCheckResult>>
36: 0x10c6dc92c - rustc_query_system[5d37595598e841cb]::query::plumbing::get_query::<rustc_query_impl[6e3cb062acfff8c8]::queries::mir_borrowck, rustc_query_impl[6e3cb062acfff8c8]::plumbing::QueryCtxt>
37: 0x10c227f9c - <rustc_borrowck[5f3c42b45168b1f9]::type_check::TypeChecker>::prove_closure_bounds
38: 0x10c22b4b0 - <rustc_borrowck[5f3c42b45168b1f9]::type_check::TypeChecker>::check_rvalue
39: 0x10c22ecc4 - <rustc_borrowck[5f3c42b45168b1f9]::type_check::TypeChecker>::typeck_mir
40: 0x10c221cf8 - rustc_borrowck[5f3c42b45168b1f9]::type_check::type_check
41: 0x10c18fbac - rustc_borrowck[5f3c42b45168b1f9]::nll::compute_regions
42: 0x10c27f59c - rustc_borrowck[5f3c42b45168b1f9]::do_mir_borrowck
43: 0x10c274bd0 - rustc_borrowck[5f3c42b45168b1f9]::mir_borrowck
44: 0x10c25dc20 - <rustc_borrowck[5f3c42b45168b1f9]::provide::{closure#0} as core[c7453568e13111fb]::ops::function::FnOnce<(rustc_middle[f1d8bc67048538a2]::ty::context::TyCtxt, rustc_span[ccb95ac7a2fc6855]::def_id::LocalDefId)>>::call_once
45: 0x10c890e7c - <rustc_query_system[5d37595598e841cb]::dep_graph::graph::DepGraph<rustc_middle[f1d8bc67048538a2]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[f1d8bc67048538a2]::ty::context::TyCtxt, rustc_span[ccb95ac7a2fc6855]::def_id::LocalDefId, &rustc_middle[f1d8bc67048538a2]::mir::query::BorrowCheckResult>
46: 0x10c62ff30 - rustc_query_system[5d37595598e841cb]::query::plumbing::try_execute_query::<rustc_query_impl[6e3cb062acfff8c8]::plumbing::QueryCtxt, rustc_query_system[5d37595598e841cb]::query::caches::DefaultCache<rustc_span[ccb95ac7a2fc6855]::def_id::LocalDefId, &rustc_middle[f1d8bc67048538a2]::mir::query::BorrowCheckResult>>
47: 0x10c6dc92c - rustc_query_system[5d37595598e841cb]::query::plumbing::get_query::<rustc_query_impl[6e3cb062acfff8c8]::queries::mir_borrowck, rustc_query_impl[6e3cb062acfff8c8]::plumbing::QueryCtxt>
48: 0x10ba766cc - rustc_hir_analysis[7a59ccb9bffd164a]::collect::type_of::find_opaque_ty_constraints_for_rpit
49: 0x10ba75978 - rustc_hir_analysis[7a59ccb9bffd164a]::collect::type_of::type_of
50: 0x10c89a03c - <rustc_query_system[5d37595598e841cb]::dep_graph::graph::DepGraph<rustc_middle[f1d8bc67048538a2]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[f1d8bc67048538a2]::ty::context::TyCtxt, rustc_span[ccb95ac7a2fc6855]::def_id::DefId, rustc_middle[f1d8bc67048538a2]::ty::Ty>
51: 0x10c64d44c - rustc_query_system[5d37595598e841cb]::query::plumbing::try_execute_query::<rustc_query_impl[6e3cb062acfff8c8]::plumbing::QueryCtxt, rustc_query_system[5d37595598e841cb]::query::caches::DefaultCache<rustc_span[ccb95ac7a2fc6855]::def_id::DefId, rustc_middle[f1d8bc67048538a2]::ty::Ty>>
52: 0x10c6f6078 - rustc_query_system[5d37595598e841cb]::query::plumbing::get_query::<rustc_query_impl[6e3cb062acfff8c8]::queries::type_of, rustc_query_impl[6e3cb062acfff8c8]::plumbing::QueryCtxt>
53: 0x10bb08260 - rustc_hir_analysis[7a59ccb9bffd164a]::check::check::check_item_type
54: 0x10bb0cb04 - rustc_hir_analysis[7a59ccb9bffd164a]::check::check::check_mod_item_types
55: 0x10c891c34 - <rustc_query_system[5d37595598e841cb]::dep_graph::graph::DepGraph<rustc_middle[f1d8bc67048538a2]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[f1d8bc67048538a2]::ty::context::TyCtxt, rustc_span[ccb95ac7a2fc6855]::def_id::LocalDefId, ()>
56: 0x10c632a94 - rustc_query_system[5d37595598e841cb]::query::plumbing::try_execute_query::<rustc_query_impl[6e3cb062acfff8c8]::plumbing::QueryCtxt, rustc_query_system[5d37595598e841cb]::query::caches::DefaultCache<rustc_span[ccb95ac7a2fc6855]::def_id::LocalDefId, ()>>
57: 0x10c6e67f8 - rustc_query_system[5d37595598e841cb]::query::plumbing::get_query::<rustc_query_impl[6e3cb062acfff8c8]::queries::check_mod_item_types, rustc_query_impl[6e3cb062acfff8c8]::plumbing::QueryCtxt>
58: 0x10ba604b0 - <rustc_middle[f1d8bc67048538a2]::hir::map::Map>::for_each_module::<rustc_hir_analysis[7a59ccb9bffd164a]::check_crate::{closure#6}::{closure#0}>
59: 0x10ba30c18 - <rustc_session[ed40b513db9a37d9]::session::Session>::time::<(), rustc_hir_analysis[7a59ccb9bffd164a]::check_crate::{closure#6}>
60: 0x10bbc35e0 - rustc_hir_analysis[7a59ccb9bffd164a]::check_crate
61: 0x10977eebc - rustc_interface[91934f1a0e4f5512]::passes::analysis
62: 0x10c8b52b4 - <rustc_query_system[5d37595598e841cb]::dep_graph::graph::DepGraph<rustc_middle[f1d8bc67048538a2]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[f1d8bc67048538a2]::ty::context::TyCtxt, (), core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>>
63: 0x10c68d1c8 - rustc_query_system[5d37595598e841cb]::query::plumbing::try_execute_query::<rustc_query_impl[6e3cb062acfff8c8]::plumbing::QueryCtxt, rustc_query_system[5d37595598e841cb]::query::caches::DefaultCache<(), core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>>>
64: 0x10c6f61ac - rustc_query_system[5d37595598e841cb]::query::plumbing::get_query::<rustc_query_impl[6e3cb062acfff8c8]::queries::analysis, rustc_query_impl[6e3cb062acfff8c8]::plumbing::QueryCtxt>
65: 0x1096b03b0 - <rustc_interface[91934f1a0e4f5512]::passes::QueryContext>::enter::<rustc_driver[5beba0b70548b2dd]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>>
66: 0x10965559c - <rustc_interface[91934f1a0e4f5512]::interface::Compiler>::enter::<rustc_driver[5beba0b70548b2dd]::run_compiler::{closure#1}::{closure#2}, core[c7453568e13111fb]::result::Result<core[c7453568e13111fb]::option::Option<rustc_interface[91934f1a0e4f5512]::queries::Linker>, rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>>
67: 0x1096bb7c8 - rustc_span[ccb95ac7a2fc6855]::with_source_map::<core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>, rustc_interface[91934f1a0e4f5512]::interface::create_compiler_and_run<core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>, rustc_driver[5beba0b70548b2dd]::run_compiler::{closure#1}>::{closure#1}>
68: 0x1096560dc - rustc_interface[91934f1a0e4f5512]::interface::create_compiler_and_run::<core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>, rustc_driver[5beba0b70548b2dd]::run_compiler::{closure#1}>
69: 0x1096afb50 - <scoped_tls[bb69e3a6d2f6d65b]::ScopedKey<rustc_span[ccb95ac7a2fc6855]::SessionGlobals>>::set::<rustc_interface[91934f1a0e4f5512]::interface::run_compiler<core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>, rustc_driver[5beba0b70548b2dd]::run_compiler::{closure#1}>::{closure#0}, core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>>
70: 0x1096845c8 - std[53d1f35d9b0e90f6]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[91934f1a0e4f5512]::util::run_in_thread_pool_with_globals<rustc_interface[91934f1a0e4f5512]::interface::run_compiler<core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>, rustc_driver[5beba0b70548b2dd]::run_compiler::{closure#1}>::{closure#0}, core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>>::{closure#0}, core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>>
71: 0x10966e3c8 - <<std[53d1f35d9b0e90f6]::thread::Builder>::spawn_unchecked_<rustc_interface[91934f1a0e4f5512]::util::run_in_thread_pool_with_globals<rustc_interface[91934f1a0e4f5512]::interface::run_compiler<core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>, rustc_driver[5beba0b70548b2dd]::run_compiler::{closure#1}>::{closure#0}, core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>>::{closure#0}, core[c7453568e13111fb]::result::Result<(), rustc_errors[1284ca2c86f31157]::ErrorGuaranteed>>::{closure#1} as core[c7453568e13111fb]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
72: 0x101847004 - std::sys::unix::thread::Thread::new::thread_start::h4b9b9390896f4937
73: 0x1bd2dc26c - __pthread_deallocate
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/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: rustc 1.66.0-nightly (a24a020e6 2022-10-18) running on aarch64-apple-darwin
note: compiler flags: --crate-type bin -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [mir_borrowck] borrow-checking `<impl at src/main.rs:7:1: 7:19>::do_something::{closure#0}`
#1 [mir_borrowck] borrow-checking `<impl at src/main.rs:7:1: 7:19>::do_something`
#2 [type_of] computing type of `<impl at src/main.rs:7:1: 7:19>::do_something::{opaque#0}`
#3 [check_mod_item_types] checking item types in top-level module
#4 [analysis] running analysis passes on this crate
end of query stack