Skip to content
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

[Feature Request][Move prover] Specification for lambda expressions #15197

Open
rahxephon89 opened this issue Nov 5, 2024 · 0 comments
Open
Assignees
Labels
enhancement New feature or request move-prover

Comments

@rahxephon89
Copy link
Contributor

🚀 Feature Request

To prove inline functions with lambda expressions, we may want to extend the specification language to support function-level specification for lambda expressions. The syntax is not determined yet but one possible solution is to attach a spec block to the lambda expression where pre- and post-conditions are provided.

    vector::for_each_mut(&mut registry.packages, |pack| {
        let package: &mut PackageMetadata = pack;
        package.upgrade_policy = upgrade_policy_immutable();
	    }
	    spec {
	        ensures pack.upgrade_policy == upgrade_policy_immutable();
	    }
    );
@rahxephon89 rahxephon89 added enhancement New feature or request move-prover labels Nov 5, 2024
@rahxephon89 rahxephon89 self-assigned this Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request move-prover
Projects
Status: 🆕 New
Development

No branches or pull requests

1 participant