Conversation
There was a problem hiding this comment.
Pull Request Overview
This is a work-in-progress pull request implementing significant architectural changes to the prover infrastructure. The changes introduce a new PackageTargets struct to centralize target collection and filtering, refactor bytecode transformation workflows, and remove the BoogieFileMode::All variant. The modifications streamline verification processes and improve modularity by separating target management from bytecode processing.
Key Changes:
- Introduces
PackageTargetsstruct to centralize spec collection and filtering logic - Refactors
FunctionTargetsHolderto delegate target filtering toPackageTargets - Removes
BoogieFileMode::Alland consolidates verification modes - Updates test files with new spec attributes and snapshot outputs
Reviewed Changes
Copilot reviewed 27 out of 28 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
crates/sui-prover/src/prove.rs |
Updates function stats display to use new PackageTargets API |
crates/sui-prover/src/build_model.rs |
Modifies target holder initialization with PackageTargets and changes holder target type |
crates/move-stackless-bytecode/src/function_target_pipeline.rs |
Major refactoring moving spec collection logic to PackageTargets and simplifying holder structure |
crates/move-stackless-bytecode/src/function_stats.rs |
Introduces PackageTargets struct with comprehensive target collection and filtering logic |
crates/move-stackless-bytecode/src/verification_analysis.rs |
Simplifies verification scope checking by removing holder mode check |
crates/move-stackless-bytecode/tests/testsuite.rs |
Updates test initialization to use PackageTargets |
crates/move-prover-boogie-backend/src/generator.rs |
Refactors verification workflow to use PackageTargets and removes BoogieFileMode::All handling |
crates/move-prover-boogie-backend/src/boogie_backend/options.rs |
Removes BoogieFileMode::All enum variant |
crates/move-prover-boogie-backend/src/boogie_backend/bytecode_translator.rs |
Removes conditional checks for BoogieFileMode::All |
crates/move-prover-lean-backend/src/generator.rs |
Updates to use PackageTargets and refactors function mode verification |
crates/move-model/src/model.rs |
Adds toplevel_attributes field to module data structures |
crates/move-model/src/builder/module_builder.rs |
Passes toplevel_attributes to module environment |
| Test input/snapshot files | Adds test cases for external spec inclusion and updates existing tests with prove attribute |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 34 out of 35 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| } | ||
|
|
||
| #[spec_only(explicit_spec_module = 0x42::foo_specs)] | ||
| #[spec_only(include_module = 0x42::foo_specs)] |
There was a problem hiding this comment.
can we use include for both functions and modules?
There was a problem hiding this comment.
will try to implement (they have different type but i will check if we can combine)
With: asymptotic-code/sui#85