Skip to content

Incorrect negative fraction check for quantified permissions #362

@gauravpartha

Description

@gauravpartha

When exhaling a quantified permission, Carbon (in some cases) checks whether the exhaled fraction is strictly greater than 0. However, it should be fine to exhale 0 permission.

field f: Int

predicate P(x: Ref)

method m() {
    label pre_stabilize0
    exhale forall z: Ref :: acc(z.f, none) //this works 
    exhale (forall x: Ref:: acc(P(x), none)) //this fails
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions