Skip to content

Conversation

@gebner
Copy link
Contributor

@gebner gebner commented Jan 30, 2026

No description provided.

Replace `requires a ** b` with:
  requires a
  requires b

This uses the new syntax that allows multiple requires clauses instead
of combining preconditions with the ** operator.

Updated 113+ files across lib/, share/pulse/examples/, and test/.
Replace `preserves a ** b` and `ensures a ** b` with:
  preserves a
  preserves b

and:
  ensures a
  ensures b

This uses the new syntax that allows multiple preserves/ensures clauses
instead of combining postconditions with the ** operator.

Note: Clauses starting with `exists*` are preserved as-is since the
bound variables may be used in subsequent parts of the clause.
…lauses

These clauses are redundant since emp (the empty separation logic proposition)
is the identity for the ** operator and adds no preconditions or postconditions.
When a function has both `requires p` and `ensures p` for the same
predicate p (on single complete lines), replace them with `preserves p`.

This is a conservative transformation that only applies to simple
single-line clauses where the predicate text matches exactly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants