-
Notifications
You must be signed in to change notification settings - Fork 109
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
Verifying 3rd party dependency crate results in compiler panic #1493
Comments
Thank you for the report. From a quick look, my stacktrace suggests that the panic happens while Prusti is running prusti-dev/prusti-interface/src/specs/checker/type_model_checks.rs Lines 80 to 93 in e632f70
My stacktrace:
|
For the record, Prusti
|
Indeed :) We had to balance our efforts between updating the current |
@fpoli Do you know why the flags |
That's because we want Prusti to collect the contracts that are declared in the dependencies, even when those contracts are not verified with respect to their implementation. To do what you are proposing we would need one new flag to skip collecting the specifications from the dependencies, e.g., something called |
@fpoli Correct me If I am wrong, but I believe that entering this branch will skip verification all together for the whole project, because I have tried https://github.com/viperproject/prusti-dev/blob/c1a5b128d938333a821af0a554be4562905bb82a/docs/dev-guide/src/config/flags.md#be_rustc before and I only saw regular |
Sorry, it's because I didn't state the complete condition. We already have a way of detecting whether Prusti is currently compiling the main crate or a dependency, it's if config::be_rustc() || build_script_build || (!is_primary_package && config::ignore_deps_contracts()) { |
@fpoli What I am asking is will prusti-dev/prusti/src/driver.rs Line 93 in c1a5b12
rustc ?
|
|
@fpoli Unfortunately I don't see my issue fixed. I have picked latest nightly https://github.com/viperproject/prusti-dev/releases/tag/v-2024-02-26-1521 and I for sure know that the flag is used, because if I corrupt the flag name a bit in
|
This was missing: #1498 Whitout that fix, with version |
@fpoli Ok, with |
I have a 3rd party dependency crate
vulkano
that I use (https://crates.io/crates/vulkano). Building the project withcargo-prusti
crashes with the following compiler panic:Now I am happy to not verify this crate altogether, but none of the flags like
[NO_VERIFY_DEPS]
(https://viperproject.github.io/prusti-dev/dev-guide/config/flags.html#no_verify_deps) or[NO_VERIFY]
(https://viperproject.github.io/prusti-dev/dev-guide/config/flags.html#no_verify) seem to work in any form including env vars orPrusti.toml
file.The text was updated successfully, but these errors were encountered: