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
As we experiment with verifying the standard library, it might be helpful to enable users to verify the standard library crates directly, instead of having to create wrappers. Those wrappers can also only be used to verify public components.
There are a few things that need to be done in order to do that:
…3245)
Using stubs or function contracts as part of the `verify-std`
sub-command does not work with multiple rustc executions as previous
implementation. This happens because we now enable verifying
dependencies, and cargo crashes due to a race condition. As soon as the
first rustc invocation succeeds, cargo starts the compilation of the
dependents crate. However, new executions can override files.
Instead, we moved the stub logic to the new transformation framework,
which is done on the top of the StableMIR body, and doesn't affect the
Rust compiler session. We are now able to apply stub without restarting
the compiler. This is a much better user experience as well, since
multiple calls to the compiler can print the same warnings multiple
times.
Resolves#3072
Towards #3152
Co-authored-by: Felipe R. Monteiro <rms.felipe@gmail.com>
As we experiment with verifying the standard library, it might be helpful to enable users to verify the standard library crates directly, instead of having to create wrappers. Those wrappers can also only be used to verify public components.
There are a few things that need to be done in order to do that:
#[no_core]
Kani library #3153Instrument contracts inI believe procedural macros are still allowed.core
without proc_macros.kani
module usingkani_core
crate.The text was updated successfully, but these errors were encountered: