You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
changed the title [-]ICE: "assign statement with unequal types" [/-][+]ICE: "assign statement with unequal types" ; StructTag / StructTag [/+]on Feb 25, 2023
Thanks for filing these issues @matthiaskrgr. Are the examples from the Rust compiler unit tests? If so, are you running them manually or through a script? We were interested in including rustc unit tests in our regressions to capture such corner cases.
Yes, these are rustc tests. 🙂
I've added some cheap kani support to https://github.com/matthiaskrgr/icemaker/ yesterday night and I try to slap kani::proof onto fndefs that I think kani can run and filter out the crashes.
Activity
matthiaskrgr commentedon Feb 25, 2023
[-]ICE: "assign statement with unequal types" [/-][+]ICE: "assign statement with unequal types" ; StructTag / StructTag [/+]zhassan-aws commentedon Feb 25, 2023
Thanks for filing these issues @matthiaskrgr. Are the examples from the Rust compiler unit tests? If so, are you running them manually or through a script? We were interested in including rustc unit tests in our regressions to capture such corner cases.
matthiaskrgr commentedon Feb 25, 2023
Yes, these are rustc tests. 🙂
I've added some cheap kani support to https://github.com/matthiaskrgr/icemaker/ yesterday night and I try to slap kani::proof onto fndefs that I think kani can run and filter out the crashes.
zhassan-aws commentedon Feb 25, 2023
Cool, thanks 🙂
matthiaskrgr commentedon Feb 26, 2023
BTW do you kani folks have by any chance some automatic way to instrument fn parameters with
kani::any()?Would become
and could be tested automatically
zhassan-aws commentedon Feb 26, 2023
Not yet.
matthiaskrgr commentedon Mar 2, 2023
ok, I think I got it to roughly to work :D
https://github.com/matthiaskrgr/icemaker/blob/master/src/run_commands.rs#L940
I noticed some problems where collection types like String or Vec would not impl kani::arbitrary but I try to fall back to
Default::default()instead ofkani::any()in such cases(there may still be a bunch of cases where I just break the code without noticing, but eh... )
zhassan-aws commentedon Mar 2, 2023
Cool! Yeah,
kani::any()is only supported for primitive types at the moment:https://github.com/model-checking/kani/blob/main/library/kani/src/arbitrary.rs
So you might want to do the opposite: provide a list of supported types and default anything else.
matthiaskrgr commentedon Jun 2, 2023
This one is probably related:
matthiaskrgr commentedon Nov 12, 2023
Triage: kani 0.40
original example fixed, #2237 (comment) still crashing
feliperodri commentedon Sep 25, 2026
Triaged against
main(de756c9, nightly-2026-09-23, Kani 0.68.0).kani code.rs→Complete - 1 successfully verified harnesses, 0 failures, 1 total.Closing as no longer reproducible — please reopen if you can still hit it on
main.