Open
Description
Code
use std::vec::Vec;
use std::iter::Peekable;
pub fn main() {
let packet = decode(vec![1,0,1,0]);
}
pub fn decode(bitstream: Vec<u64>) -> Packet {
let mut bitstream_itr = bitstream.into_iter().peekable();
return match decode_packet(&mut bitstream_itr) {
Some(p) => p,
None => panic!("expected outer packet"),
}
}
pub fn decode_packets<I: Iterator<Item = u64>>(itr: &mut Peekable<I>) -> Vec<Packet> {
let mut res = Vec::new();
loop {
match decode_packet(itr) {
Some(p) => { res.push(p); },
None => break
}
}
return res;
}
pub fn decode_packet<I: Iterator<Item = u64>>(itr: &mut Peekable<I>) -> Option<Packet> {
// get version digits
let version = extend_number(0, itr, 3)?;
let type_id = extend_number(0, itr, 3)?;
return operator_packet(version, type_id, itr);
}
pub fn operator_packet<I: Iterator<Item = u64>>(version: u64, type_id: u64, itr: &mut Peekable<I>) -> Option<Packet> {
let p = OperatorPacket {
version: version,
type_id: type_id,
packets: decode_packets(&mut itr.take(0).peekable()),
};
return Some(Packet::Operator(p));
}
pub fn extend_number<I: Iterator<Item = u64>>(num: u64, itr: &mut Peekable<I>, take: u64) -> Option<u64> {
let mut value = num;
for _ in 0..take {
value *= 2;
value += itr.next()?;
}
return Some(value);
}
#[derive(Debug)]
pub enum Packet {
Operator(OperatorPacket),
}
#[derive(Debug)]
pub struct OperatorPacket {
version: u64,
type_id: u64,
packets: Vec<Packet>
}
Meta
rustc --version --verbose
:
Error output
warning: the item `Vec` is imported redundantly
--> ./92004.rs:1:5
|
1 | use std::vec::Vec;
| ^^^^^^^^^^^^^
|
::: /home/gh-matthiaskrgr/.rustup/toolchains/master/lib/rustlib/src/rust/library/std/src/prelude/mod.rs:105:13
|
105 | pub use super::v1::*;
| --------- the item `Vec` is already defined here
|
= note: `#[warn(unused_imports)]` on by default
warning: unused variable: `packet`
--> ./92004.rs:5:9
|
5 | let packet = decode(vec![1,0,1,0]);
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
|
= note: `#[warn(unused_variables)]` on by default
warning: fields `version`, `type_id`, and `packets` are never read
--> ./92004.rs:62:5
|
61 | pub struct OperatorPacket {
| -------------- fields in this struct
62 | version: u64,
| ^^^^^^^
63 | type_id: u64,
| ^^^^^^^
64 | packets: Vec<Packet>
| ^^^^^^^
|
= note: `OperatorPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
= note: `#[warn(dead_code)]` on by default
Backtrace
thread 'rustc' panicked at /rust/deps/ena-0.14.2/src/snapshot_vec.rs:199:10:
index out of bounds: the len is 0 but the index is 0
stack backtrace:
0: 0x7f0eb954ffa5 - std::backtrace_rs::backtrace::libunwind::trace::he2d7e0b4ceae414e
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
1: 0x7f0eb954ffa5 - std::backtrace_rs::backtrace::trace_unsynchronized::hdaffc19ffc09bde8
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f0eb954ffa5 - std::sys_common::backtrace::_print_fmt::hd4fb259cf7d0e8e3
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/sys_common/backtrace.rs:68:5
3: 0x7f0eb954ffa5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h762a4aab0b589a4c
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/sys_common/backtrace.rs:44:22
4: 0x7f0eb95a0feb - core::fmt::rt::Argument::fmt::hf72a54190dc4baa2
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/core/src/fmt/rt.rs:142:9
5: 0x7f0eb95a0feb - core::fmt::write::h24784e35e0380a3e
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/core/src/fmt/mod.rs:1153:17
6: 0x7f0eb9544d3f - std::io::Write::write_fmt::hb24b3a89fb200ddb
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/io/mod.rs:1843:15
7: 0x7f0eb954fd7e - std::sys_common::backtrace::_print::h0e48be87587a473e
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/sys_common/backtrace.rs:47:5
8: 0x7f0eb954fd7e - std::sys_common::backtrace::print::h078f9026890c0b12
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/sys_common/backtrace.rs:34:9
9: 0x7f0eb95529f9 - std::panicking::default_hook::{{closure}}::h19f2ef2f452cda43
10: 0x7f0eb9552763 - std::panicking::default_hook::h0e9944bdb39da579
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/panicking.rs:292:9
11: 0x7f0eb5fceb9f - std[8c61ae4e9dc6f99a]::panicking::update_hook::<alloc[3095c8d5ffc1f53c]::boxed::Box<rustc_driver_impl[50dc0f0ce2053d12]::install_ice_hook::{closure#0}>>::{closure#0}
12: 0x7f0eb9553150 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hfbae6ab25830f7c8
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/alloc/src/boxed.rs:2029:9
13: 0x7f0eb9553150 - std::panicking::rust_panic_with_hook::h33fb6d06d73e30d6
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/panicking.rs:783:13
14: 0x7f0eb9552ea6 - std::panicking::begin_panic_handler::{{closure}}::he600efcf8c3cf12a
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/panicking.rs:657:13
15: 0x7f0eb9550469 - std::sys_common::backtrace::__rust_end_short_backtrace::he9a6cadc9215c56f
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/sys_common/backtrace.rs:171:18
16: 0x7f0eb9552bd7 - rust_begin_unwind
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/panicking.rs:645:5
17: 0x7f0eb959d486 - core::panicking::panic_fmt::hd936952a5927c902
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/core/src/panicking.rs:72:14
18: 0x7f0eb959d6a7 - core::panicking::panic_bounds_check::h6249d6f447df14c3
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/core/src/panicking.rs:205:5
19: 0x7f0eb86395e8 - <ena[3fe8f2b21ea0da14]::unify::UnificationTable<ena[3fe8f2b21ea0da14]::unify::backing_vec::InPlace<rustc_infer[d94298ef228ce58b]::infer::type_variable::TyVidEqKey, &mut alloc[3095c8d5ffc1f53c]::vec::Vec<ena[3fe8f2b21ea0da14]::unify::VarValue<rustc_infer[d94298ef228ce58b]::infer::type_variable::TyVidEqKey>>, &mut rustc_infer[d94298ef228ce58b]::infer::snapshot::undo_log::InferCtxtUndoLogs>>>::uninlined_get_root_key.llvm.556618795195803917.cold
20: 0x7f0eb49d4cee - <rustc_infer[d94298ef228ce58b]::infer::canonical::canonicalizer::Canonicalizer as rustc_type_ir[3b1757e14fa16666]::fold::TypeFolder<rustc_middle[dd5b3b6f0751d1e7]::ty::context::TyCtxt>>::fold_ty
21: 0x7f0eb49d52a5 - <rustc_infer[d94298ef228ce58b]::infer::canonical::canonicalizer::Canonicalizer as rustc_type_ir[3b1757e14fa16666]::fold::TypeFolder<rustc_middle[dd5b3b6f0751d1e7]::ty::context::TyCtxt>>::fold_ty
22: 0x7f0eb49d52a5 - <rustc_infer[d94298ef228ce58b]::infer::canonical::canonicalizer::Canonicalizer as rustc_type_ir[3b1757e14fa16666]::fold::TypeFolder<rustc_middle[dd5b3b6f0751d1e7]::ty::context::TyCtxt>>::fold_ty
23: 0x7f0eb77853c5 - <rustc_infer[d94298ef228ce58b]::infer::canonical::canonicalizer::Canonicalizer as rustc_type_ir[3b1757e14fa16666]::fold::FallibleTypeFolder<rustc_middle[dd5b3b6f0751d1e7]::ty::context::TyCtxt>>::try_fold_predicate
24: 0x7f0eb48e20af - rustc_ty_utils[818eeb7f16c0446]::common_traits::is_copy_raw
25: 0x7f0eb78c6265 - rustc_query_impl[103b6eeeb95b654e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[103b6eeeb95b654e]::query_impl::is_copy_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dd5b3b6f0751d1e7]::query::erase::Erased<[u8; 1usize]>>
26: 0x7f0eb78c5953 - rustc_query_system[72071770fb0f9e7d]::query::plumbing::try_execute_query::<rustc_query_impl[103b6eeeb95b654e]::DynamicConfig<rustc_query_system[72071770fb0f9e7d]::query::caches::DefaultCache<rustc_middle[dd5b3b6f0751d1e7]::ty::ParamEnvAnd<rustc_middle[dd5b3b6f0751d1e7]::ty::Ty>, rustc_middle[dd5b3b6f0751d1e7]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[103b6eeeb95b654e]::plumbing::QueryCtxt, false>
27: 0x7f0eb78c560e - rustc_query_impl[103b6eeeb95b654e]::query_impl::is_copy_raw::get_query_non_incr::__rust_end_short_backtrace
28: 0x7f0eb78c6b18 - rustc_ty_utils[818eeb7f16c0446]::needs_drop::needs_drop_raw
29: 0x7f0eb78c6547 - rustc_query_impl[103b6eeeb95b654e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[103b6eeeb95b654e]::query_impl::needs_drop_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dd5b3b6f0751d1e7]::query::erase::Erased<[u8; 1usize]>>
30: 0x7f0eb78c58fb - rustc_query_system[72071770fb0f9e7d]::query::plumbing::try_execute_query::<rustc_query_impl[103b6eeeb95b654e]::DynamicConfig<rustc_query_system[72071770fb0f9e7d]::query::caches::DefaultCache<rustc_middle[dd5b3b6f0751d1e7]::ty::ParamEnvAnd<rustc_middle[dd5b3b6f0751d1e7]::ty::Ty>, rustc_middle[dd5b3b6f0751d1e7]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[103b6eeeb95b654e]::plumbing::QueryCtxt, false>
31: 0x7f0eb78c554e - rustc_query_impl[103b6eeeb95b654e]::query_impl::needs_drop_raw::get_query_non_incr::__rust_end_short_backtrace
32: 0x7f0eb4e6510a - rustc_ty_utils[818eeb7f16c0446]::instance::resolve_instance
33: 0x7f0eb79a8145 - rustc_query_impl[103b6eeeb95b654e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[103b6eeeb95b654e]::query_impl::resolve_instance::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dd5b3b6f0751d1e7]::query::erase::Erased<[u8; 32usize]>>
34: 0x7f0eb79a8484 - rustc_query_system[72071770fb0f9e7d]::query::plumbing::try_execute_query::<rustc_query_impl[103b6eeeb95b654e]::DynamicConfig<rustc_query_system[72071770fb0f9e7d]::query::caches::DefaultCache<rustc_middle[dd5b3b6f0751d1e7]::ty::ParamEnvAnd<(rustc_span[df0a12af4122e9fb]::def_id::DefId, &rustc_middle[dd5b3b6f0751d1e7]::ty::list::List<rustc_middle[dd5b3b6f0751d1e7]::ty::generic_args::GenericArg>)>, rustc_middle[dd5b3b6f0751d1e7]::query::erase::Erased<[u8; 32usize]>>, false, false, false>, rustc_query_impl[103b6eeeb95b654e]::plumbing::QueryCtxt, false>
35: 0x7f0eb79a80dd - rustc_query_impl[103b6eeeb95b654e]::query_impl::resolve_instance::get_query_non_incr::__rust_end_short_backtrace
36: 0x7f0eb79aa466 - <rustc_middle[dd5b3b6f0751d1e7]::ty::instance::Instance>::resolve_drop_in_place
37: 0x7f0eb4afc13f - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec::{closure#0}
38: 0x7f0eb81a0392 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
39: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
40: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
41: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
42: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
43: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
44: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
45: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
46: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
47: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
48: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
49: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
50: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
51: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
52: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
53: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
54: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
55: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
56: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
57: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
58: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
59: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
60: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
61: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
62: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
63: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
64: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
65: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
66: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
67: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
68: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
69: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
70: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
71: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
72: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
73: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
74: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
75: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
76: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
77: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
78: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
79: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
80: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
81: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
82: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
83: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
84: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
85: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
86: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
87: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
88: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
89: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
90: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
91: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
92: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
93: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
94: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
95: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
96: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
97: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
98: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
99: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
100: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
101: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
102: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
103: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
104: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
105: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
106: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
107: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
108: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
109: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
110: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
111: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
112: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
113: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
114: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
115: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
116: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
117: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
118: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
119: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
120: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
121: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
122: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
123: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
124: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
125: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
126: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
127: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
128: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
129: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
130: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
131: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
132: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
133: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
134: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
135: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
136: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
137: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
138: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
139: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
140: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
141: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
142: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
143: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
144: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
145: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
146: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
147: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
148: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
149: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
150: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
151: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
152: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
153: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
154: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
155: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
156: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
157: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
158: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
159: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
160: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
161: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
162: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
163: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
164: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
165: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
166: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
167: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
168: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
169: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
170: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
171: 0x7f0eb81a0d50 - rustc_monomorphize[cce86ba432f7b2a0]::collector::collect_items_rec
172: 0x7f0eb8198df6 - rustc_monomorphize[cce86ba432f7b2a0]::partitioning::collect_and_partition_mono_items
173: 0x7f0eb81983ee - rustc_query_impl[103b6eeeb95b654e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[103b6eeeb95b654e]::query_impl::collect_and_partition_mono_items::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dd5b3b6f0751d1e7]::query::erase::Erased<[u8; 24usize]>>
174: 0x7f0eb81983d3 - <rustc_query_impl[103b6eeeb95b654e]::query_impl::collect_and_partition_mono_items::dynamic_query::{closure#2} as core[db3fd14870e16b34]::ops::function::FnOnce<(rustc_middle[dd5b3b6f0751d1e7]::ty::context::TyCtxt, ())>>::call_once
175: 0x7f0eb823d6ce - rustc_query_system[72071770fb0f9e7d]::query::plumbing::try_execute_query::<rustc_query_impl[103b6eeeb95b654e]::DynamicConfig<rustc_query_system[72071770fb0f9e7d]::query::caches::SingleCache<rustc_middle[dd5b3b6f0751d1e7]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[103b6eeeb95b654e]::plumbing::QueryCtxt, false>
176: 0x7f0eb823d3c5 - rustc_query_impl[103b6eeeb95b654e]::query_impl::collect_and_partition_mono_items::get_query_non_incr::__rust_end_short_backtrace
177: 0x7f0eb82d0af0 - rustc_codegen_ssa[5284b279088479b5]::base::codegen_crate::<rustc_codegen_llvm[3fb2aaf30ffb7008]::LlvmCodegenBackend>
178: 0x7f0eb82c3e29 - <rustc_codegen_llvm[3fb2aaf30ffb7008]::LlvmCodegenBackend as rustc_codegen_ssa[5284b279088479b5]::traits::backend::CodegenBackend>::codegen_crate
179: 0x7f0eb82c379f - rustc_interface[f82c04bf8d9e9e5f]::passes::start_codegen
180: 0x7f0eb82c2f33 - <rustc_interface[f82c04bf8d9e9e5f]::queries::Queries>::codegen_and_build_linker
181: 0x7f0eb80905d6 - rustc_interface[f82c04bf8d9e9e5f]::interface::run_compiler::<core[db3fd14870e16b34]::result::Result<(), rustc_span[df0a12af4122e9fb]::ErrorGuaranteed>, rustc_driver_impl[50dc0f0ce2053d12]::run_compiler::{closure#0}>::{closure#0}
182: 0x7f0eb815cac5 - std[8c61ae4e9dc6f99a]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[f82c04bf8d9e9e5f]::util::run_in_thread_with_globals<rustc_interface[f82c04bf8d9e9e5f]::util::run_in_thread_pool_with_globals<rustc_interface[f82c04bf8d9e9e5f]::interface::run_compiler<core[db3fd14870e16b34]::result::Result<(), rustc_span[df0a12af4122e9fb]::ErrorGuaranteed>, rustc_driver_impl[50dc0f0ce2053d12]::run_compiler::{closure#0}>::{closure#0}, core[db3fd14870e16b34]::result::Result<(), rustc_span[df0a12af4122e9fb]::ErrorGuaranteed>>::{closure#0}, core[db3fd14870e16b34]::result::Result<(), rustc_span[df0a12af4122e9fb]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[db3fd14870e16b34]::result::Result<(), rustc_span[df0a12af4122e9fb]::ErrorGuaranteed>>
183: 0x7f0eb815c8f2 - <<std[8c61ae4e9dc6f99a]::thread::Builder>::spawn_unchecked_<rustc_interface[f82c04bf8d9e9e5f]::util::run_in_thread_with_globals<rustc_interface[f82c04bf8d9e9e5f]::util::run_in_thread_pool_with_globals<rustc_interface[f82c04bf8d9e9e5f]::interface::run_compiler<core[db3fd14870e16b34]::result::Result<(), rustc_span[df0a12af4122e9fb]::ErrorGuaranteed>, rustc_driver_impl[50dc0f0ce2053d12]::run_compiler::{closure#0}>::{closure#0}, core[db3fd14870e16b34]::result::Result<(), rustc_span[df0a12af4122e9fb]::ErrorGuaranteed>>::{closure#0}, core[db3fd14870e16b34]::result::Result<(), rustc_span[df0a12af4122e9fb]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[db3fd14870e16b34]::result::Result<(), rustc_span[df0a12af4122e9fb]::ErrorGuaranteed>>::{closure#1} as core[db3fd14870e16b34]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
184: 0x7f0eb955c919 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h8bca559b886796e2
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/alloc/src/boxed.rs:2015:9
185: 0x7f0eb955c919 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6921d0e12fce02bd
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/alloc/src/boxed.rs:2015:9
186: 0x7f0eb955c919 - std::sys::pal::unix::thread::Thread::new::thread_start::hba4f4afbe9e3ea3d
at /rustc/df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c/library/std/src/sys/pal/unix/thread.rs:108:17
187: 0x7f0eb2c94ac3 - start_thread
at ./nptl/pthread_create.c:442:8
188: 0x7f0eb2d26850 - __GI___clone3
at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
189: 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: please attach the file at `/home/gh-matthiaskrgr/vcs/github/glacier2/fixed/rustc-ice-2024-03-21T11_22_20-907115.txt` to your bug report
query stack during panic:
thread panicked while processing panic. aborting.
Aborted (core dumped)