As an example, consider the list_copy specification:
{ r :-> x ** lseg(x, S) }
void listcopy(loc r)
{ r :-> y ** lseg(x, S) ** lseg(y, S) }
It would be nice to be able to state something like
{ r :-> x ** [lseg(x, S)] }
in the precondition to indicate that this lseg is not to be unfolded during the synthesis. In the future, the syntax may be enhanced with fractional permissions.
This issue is about AST/parsing only. It does not cover the semantics of read-only permissions.
As an example, consider the
list_copyspecification:It would be nice to be able to state something like
in the precondition to indicate that this
lsegis not to be unfolded during the synthesis. In the future, the syntax may be enhanced with fractional permissions.This issue is about AST/parsing only. It does not cover the semantics of read-only permissions.