Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICE: index out of bounds, snapshot_vec.rs #3442

Closed
matthiaskrgr opened this issue Aug 15, 2024 · 1 comment
Closed

ICE: index out of bounds, snapshot_vec.rs #3442

matthiaskrgr opened this issue Aug 15, 2024 · 1 comment
Assignees
Labels
[C] Bug This is a bug. Something isn't working.

Comments

@matthiaskrgr
Copy link
Contributor

I tried this code:

pub trait Functor
{
    type With<T>: Functor;
}

pub struct IdFunctor<T>(T);
impl<T> Functor for IdFunctor<T> {
    type With<T2> = IdFunctor<T2>;
}

impl<T> Functor for Vec<T> {
    type With<T2> = Vec<T2> ;
}


pub struct Compose<F1, F2, T>(F1::With<F2::With<T>>)
where
    F1: Functor + ?Sized,
    F2: Functor + ?Sized;

impl<F1, F2, T> Functor for Compose<F1, F2, T>
where
    F1: Functor + ?Sized,
    F2: Functor + ?Sized
{
    type With<T2> = F1::With<F2::With<T2>> ;
}

pub enum Value<F>
where
    F: Functor + ?Sized,
{
    SignedInt(*mut F::With<i64>),
    Array(*mut Value<Compose<F, Vec<()>, ()>>),

}

#[kani::proof]
fn main() {
    let x: Value<IdFunctor<()>> = Value::SignedInt(&mut IdFunctor(1));
}

using the following command line invocation:

kani file.rs

with Kani version:

I expected to see this happen: explanation

Instead, this happened: explanation

Kani Rust Verifier 0.54.0 (standalone)
warning: unused variable: `x`
  --> a.rs:40:9
   |
40 |     let x: Value<IdFunctor<()>> = Value::SignedInt(&mut IdFunctor(1));
   |         ^ help: if this is intentional, prefix it with an underscore: `_x`
   |
   = note: `#[warn(unused_variables)]` on by default

thread 'rustc' panicked at /rust/deps/ena-0.14.3/src/snapshot_vec.rs:199:10:
index out of bounds: the len is 0 but the index is 0
stack backtrace:
   0: rust_begin_unwind
             at /rustc/60d146580c10036ce89e019422c6bc2fd9729b65/library/std/src/panicking.rs:662:5
   1: core::panicking::panic_fmt
             at /rustc/60d146580c10036ce89e019422c6bc2fd9729b65/library/core/src/panicking.rs:74:14
   2: core::panicking::panic_bounds_check
             at /rustc/60d146580c10036ce89e019422c6bc2fd9729b65/library/core/src/panicking.rs:276:5
   3: <ena::unify::UnificationTable<ena::unify::backing_vec::InPlace<rustc_infer::infer::type_variable::TyVidEqKey, &mut alloc::vec::Vec<ena::unify::VarValue<rustc_infer::infer::type_variable::TyVidEqKey>>, &mut rustc_infer::infer::snapshot::undo_log::InferCtxtUndoLogs>>>::uninlined_get_root_key.llvm.9861856609436807693.cold
   4: <rustc_infer::infer::canonical::canonicalizer::Canonicalizer as rustc_type_ir::fold::TypeFolder<rustc_middle::ty::context::TyCtxt>>::fold_ty
   5: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation_no_overflow
   6: rustc_ty_utils::common_traits::is_item_raw
      [... omitted 1 frame ...]
   7: rustc_ty_utils::layout::layout_of_uncached
   8: rustc_ty_utils::layout::layout_of
      [... omitted 1 frame ...]
   9: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Ty>, rustc_middle::query::erase::Erased<[u8; 16]>>>
  10: rustc_ty_utils::layout::layout_of
      [... omitted 1 frame ...]
  11: <core::iter::adapters::GenericShunt<core::iter::adapters::by_ref_sized::ByRefSized<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::VariantDef>, rustc_ty_utils::layout::layout_of_uncached::{closure#11}>>, core::result::Result<core::convert::Infallible, &rustc_middle::ty::layout::LayoutError>> as core::iter::traits::iterator::Iterator>::next
  12: rustc_ty_utils::layout::layout_of_uncached
  13: rustc_ty_utils::layout::layout_of
      [... omitted 1 frame ...]
  14: rustc_middle::ty::layout::LayoutOf::spanned_layout_of
  15: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum
  16: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  17: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty_ref
  18: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  19: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct_fields
  20: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum_case_struct
  21: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  22: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  23: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum
  24: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  25: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty_ref
  26: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  27: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct_fields
  28: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum_case_struct
  29: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  30: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  31: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum
  32: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  33: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty_ref
  34: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  35: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct_fields
  36: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum_case_struct
  37: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  38: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  39: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum
  40: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  41: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty_ref
  42: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  43: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct_fields
  44: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum_case_struct
  45: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  46: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  47: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum
  48: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  49: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty_ref
  50: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  51: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct_fields
  52: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum_case_struct
  53: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  54: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  55: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum
  56: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  57: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty_ref
  58: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  59: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct_fields
  60: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum_case_struct
  61: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  62: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  63: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum
  64: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  65: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty_ref
  66: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  67: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct_fields
  68: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum_case_struct
  69: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  70: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  71: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum
  72: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  73: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty_ref
  74: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty
  75: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct_fields
  76: kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_enum_case_struct
  77: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  78: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Kani unexpectedly panicked during compilation.
Please file an issue here: https://github.com/model-checking/kani/issues/new?labels=bug&template=bug_report.md

[Kani] current codegen item: codegen_function: main
_RNvCsK4x8nh5vHo_1a4main
[Kani] current codegen location: Loc { file: "a.rs", function: None, start_line: 39, start_col: Some(1), end_line: 39, end_col: Some(10), pragmas: [] }
warning: 1 warning emitted

error: /home/matthias/.kani/kani-0.54.0/bin/kani-compiler exited with status exit status: 101

@matthiaskrgr matthiaskrgr added the [C] Bug This is a bug. Something isn't working. label Aug 15, 2024
@carolynzech carolynzech self-assigned this Aug 28, 2024
@carolynzech
Copy link
Contributor

Thanks for the report!

I took a look at your code, and it seems like this is an issue with the Rust compiler, not necessarily Kani's logic. When I run your code, the Rust compiler ICEs with the same error.

I suspect this issue is related to overflow of a trait requirement. I did some debugging locally and found that Kani panics on this line, when it's trying to generate code for the enum variants. I ran Kani with your code snippet with dbg!(&ty) just above this line, and I got:

[kani-compiler/src/codegen_cprover_gotoc/codegen/typ.rs:1182:9] &ty = Value<IdFunctor<()>>
[kani-compiler/src/codegen_cprover_gotoc/codegen/typ.rs:1182:9] &ty = Value<Compose<IdFunctor<()>, std::vec::Vec<(), std::alloc::Global>, ()>>
[kani-compiler/src/codegen_cprover_gotoc/codegen/typ.rs:1182:9] &ty = Value<Compose<Compose<IdFunctor<()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>>

until it finally panics trying to resolve the layout for this type:

[kani-compiler/src/codegen_cprover_gotoc/codegen/typ.rs:1182:9] &ty = Value<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<Compose<IdFunctor<()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>, std::vec::Vec<(), std::alloc::Global>, ()>>

I would suggest filing an issue with the Rust team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C] Bug This is a bug. Something isn't working.
Projects
None yet
Development

No branches or pull requests

2 participants