Skip to content

Implementing exhaleExt for quantified permissions#589

Open
marcoeilers wants to merge 8 commits into
masterfrom
meilers_exhaleExt_qp
Open

Implementing exhaleExt for quantified permissions#589
marcoeilers wants to merge 8 commits into
masterfrom
meilers_exhaleExt_qp

Conversation

@marcoeilers

@marcoeilers marcoeilers commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Carbon currently crashes when having to exhale a QP during a package operation, so when there is a QP on the right hand side of a wand or when one is asserted inside a package statement.
This is due to a missing implementation of exhaleExt, which exhales permissions from a stack of heaps instead of a single one. This PR adds this implementation, which closely follows the one for the existing implementation for individual permissions (for example, there is now a method transferMainQuant with a similar structure as the existing transferMain method etc.)
Instead of a single variable tracking how many permissions are left to be exhaled, we track an entire mask that contains all permissions that are left to be exhaled.

Like the existing exhaleExt implementation for non-quantified permissions, wildcards are currently not supported (and Carbon fails in the same way).

@marcoeilers
marcoeilers marked this pull request as ready for review July 12, 2026 21:12
@marcoeilers
marcoeilers requested a review from Dev-XYS July 12, 2026 21:12
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.

1 participant