We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Generating a slice fat pointer to Tuple([i32, [Foo]])
feature(unsized_tuple_coercion)
I tried this code:
#![feature(unsized_tuple_coercion)] static mut DROP_RAN: isize = 0; struct Foo; impl Drop for Foo { fn drop(&mut self) { unsafe { DROP_RAN += 1; } } } #[kani::proof] pub fn main() { { let _x: Box<(i32, [Foo])> = Box::<(i32, [Foo; 3])>::new((42, [Foo, Foo, Foo])); } unsafe { assert_eq!(DROP_RAN, 3); } }
using the following command line invocation:
kani <file>
with Kani version:
I expected to see this happen: explanation
Instead, this happened: explanation
thread '<unnamed>' panicked at 'internal error: entered unreachable code: Generating a slice fat pointer to Tuple([i32, [Foo]])', kani-compiler/src/codegen_cprover_gotoc/codegen/typ.rs:1186:25 stack backtrace: 0: 0x7f195e8217da - std::backtrace_rs::backtrace::libunwind::trace::hc84915c67f6fb1e5 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 1: 0x7f195e8217da - std::backtrace_rs::backtrace::trace_unsynchronized::h74fef551999c3a2f at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x7f195e8217da - std::sys_common::backtrace::_print_fmt::h8acfd19c1a6f1d1d at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/sys_common/backtrace.rs:65:5 3: 0x7f195e8217da - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h9271b09f3576b7e0 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/sys_common/backtrace.rs:44:22 4: 0x7f195e8842ee - core::fmt::write::h27d0bbb767cff1d5 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/core/src/fmt/mod.rs:1208:17 5: 0x7f195e811c65 - std::io::Write::write_fmt::hc409ea2bb818fbea at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/io/mod.rs:1682:15 6: 0x7f195e8215a5 - std::sys_common::backtrace::_print::hfa031a98cf1e4011 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/sys_common/backtrace.rs:47:5 7: 0x7f195e8215a5 - std::sys_common::backtrace::print::he69ac0980f15620d at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/sys_common/backtrace.rs:34:9 8: 0x7f195e8242ef - std::panicking::default_hook::{{closure}}::h014cf704a69dce2b at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/panicking.rs:267:22 9: 0x7f195e82402b - std::panicking::default_hook::h380e71f8d8d49df7 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/panicking.rs:286:9 10: 0x5569f37aeb0d - kani_compiler::session::PANIC_HOOK::{{closure}}::{{closure}}::h10f33c4e395bf462 11: 0x5569f3704f67 - kani_compiler::codegen_cprover_gotoc::utils::debug::DEFAULT_HOOK::{{closure}}::{{closure}}::hf568cc16e5ffa08a 12: 0x7f195e824b2d - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcfa7e50330911a79 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/alloc/src/boxed.rs:2032:9 13: 0x7f195e824b2d - std::panicking::rust_panic_with_hook::h483f1ef90c766581 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/panicking.rs:692:13 14: 0x7f195e8248a9 - std::panicking::begin_panic_handler::{{closure}}::hd4c7d9116c0ef489 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/panicking.rs:579:13 15: 0x7f195e821c8c - std::sys_common::backtrace::__rust_end_short_backtrace::had27a083c7d7188b at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/sys_common/backtrace.rs:137:18 16: 0x7f195e8245b2 - rust_begin_unwind at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/panicking.rs:575:5 17: 0x7f195e880cd3 - core::panicking::panic_fmt::hbacb72817da3b060 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/core/src/panicking.rs:64:14 18: 0x5569f36ead4c - kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty_ref::h8f0e76378246970b 19: 0x5569f36e4823 - kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty::h3a1c4e105629c1cf 20: 0x5569f36e66de - kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct_fields::h22ca79c8a21e7e08 21: 0x5569f36eb87a - kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct::h70c30990dfcd6693 22: 0x5569f36e5229 - kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty::h3a1c4e105629c1cf 23: 0x5569f36e66de - kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct_fields::h22ca79c8a21e7e08 24: 0x5569f36eb87a - kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_struct::h70c30990dfcd6693 25: 0x5569f36e5229 - kani_compiler::codegen_cprover_gotoc::codegen::typ::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_ty::h3a1c4e105629c1cf 26: 0x5569f3731934 - core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut::h3d27524049e75026 27: 0x5569f3782876 - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter::he9d1f8227d49a086 28: 0x5569f368041f - kani_compiler::codegen_cprover_gotoc::codegen::function::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::declare_function::hcb4ad696d24f1916 29: 0x5569f3709b60 - std::thread::local::LocalKey<T>::with::h8c541365775d3b68 30: 0x5569f3795f05 - <kani_compiler::codegen_cprover_gotoc::compiler_interface::GotocCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate::heaa499391d53b3f6 31: 0x7f195c886fa1 - <rustc_session[19dfb3d05ff8562d]::session::Session>::time::<alloc[58cfa59ca61fafa9]::boxed::Box<dyn core[6d94cc961ac87456]::any::Any>, rustc_interface[aec886e93b1add3f]::passes::start_codegen::{closure#0}> 32: 0x7f195c886ac9 - rustc_interface[aec886e93b1add3f]::passes::start_codegen 33: 0x7f195c8847a6 - <rustc_interface[aec886e93b1add3f]::passes::QueryContext>::enter::<<rustc_interface[aec886e93b1add3f]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[6d94cc961ac87456]::result::Result<alloc[58cfa59ca61fafa9]::boxed::Box<dyn core[6d94cc961ac87456]::any::Any>, rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>> 34: 0x7f195c881a46 - <rustc_interface[aec886e93b1add3f]::queries::Queries>::ongoing_codegen 35: 0x7f195c880f67 - <rustc_interface[aec886e93b1add3f]::interface::Compiler>::enter::<rustc_driver[94a2f0241de75afa]::run_compiler::{closure#1}::{closure#2}, core[6d94cc961ac87456]::result::Result<core[6d94cc961ac87456]::option::Option<rustc_interface[aec886e93b1add3f]::queries::Linker>, rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>> 36: 0x7f195c87bf88 - rustc_span[ae2df7aa7c6c667b]::with_source_map::<core[6d94cc961ac87456]::result::Result<(), rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>, rustc_interface[aec886e93b1add3f]::interface::run_compiler<core[6d94cc961ac87456]::result::Result<(), rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>, rustc_driver[94a2f0241de75afa]::run_compiler::{closure#1}>::{closure#0}::{closure#0}> 37: 0x7f195c87ba75 - <scoped_tls[db87656d258d017b]::ScopedKey<rustc_span[ae2df7aa7c6c667b]::SessionGlobals>>::set::<rustc_interface[aec886e93b1add3f]::interface::run_compiler<core[6d94cc961ac87456]::result::Result<(), rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>, rustc_driver[94a2f0241de75afa]::run_compiler::{closure#1}>::{closure#0}, core[6d94cc961ac87456]::result::Result<(), rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>> 38: 0x7f195c87b062 - std[acd1f573e90225f]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[aec886e93b1add3f]::util::run_in_thread_pool_with_globals<rustc_interface[aec886e93b1add3f]::interface::run_compiler<core[6d94cc961ac87456]::result::Result<(), rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>, rustc_driver[94a2f0241de75afa]::run_compiler::{closure#1}>::{closure#0}, core[6d94cc961ac87456]::result::Result<(), rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6d94cc961ac87456]::result::Result<(), rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>> 39: 0x7f195ceec49e - <<std[acd1f573e90225f]::thread::Builder>::spawn_unchecked_<rustc_interface[aec886e93b1add3f]::util::run_in_thread_pool_with_globals<rustc_interface[aec886e93b1add3f]::interface::run_compiler<core[6d94cc961ac87456]::result::Result<(), rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>, rustc_driver[94a2f0241de75afa]::run_compiler::{closure#1}>::{closure#0}, core[6d94cc961ac87456]::result::Result<(), rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6d94cc961ac87456]::result::Result<(), rustc_errors[56887b15c7ec6fbf]::ErrorGuaranteed>>::{closure#1} as core[6d94cc961ac87456]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 40: 0x7f195e3da2d3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he955d3e33f115328 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/alloc/src/boxed.rs:2000:9 41: 0x7f195e3da2d3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h32515d9eaa012a19 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/alloc/src/boxed.rs:2000:9 42: 0x7f195e3da2d3 - std::sys::unix::thread::Thread::new::thread_start::h5af9cdd9a5a58d64 at /rustc/c6fcdb690609769a240fc8ab0de0ce68d5ea7dba/library/std/src/sys/unix/thread.rs:108:17 43: 0x7f195a18fbb5 - <unknown> 44: 0x7f195a211d90 - <unknown> 45: 0x0 - <unknown> 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: declare_function: std::ptr::Unique::<(i32, [Foo])>::cast::<u8> [Kani] current codegen location: Loc { file: "/home/runner/.rustup/toolchains/nightly-2022-12-11-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/unique.rs", function: None, start_line: 136, start_col: Some(5), end_line: 136, end_col: Some(44) } error: /home/matthias/.kani/kani-0.22.0/bin/kani-compiler exited with status exit status: 101
The text was updated successfully, but these errors were encountered:
Still crashing with 0.40
Sorry, something went wrong.
No branches or pull requests
I tried this code:
using the following command line invocation:
with Kani version:
I expected to see this happen: explanation
Instead, this happened: explanation
The text was updated successfully, but these errors were encountered: