Skip to content

Make exact and non-exact heap types the same case#106

Open
tlively wants to merge 5 commits into
mainfrom
exact-heaptype-refactor
Open

Make exact and non-exact heap types the same case#106
tlively wants to merge 5 commits into
mainfrom
exact-heaptype-refactor

Conversation

@tlively

@tlively tlively commented Jul 13, 2026

Copy link
Copy Markdown
Member

Previously the definition of heaptype was ... | EXACT typeuse | typeuse, but this made it impossible to treat the exactness as a variable. Refactor the definition to ... | _HT exact? typeuse instead. This is similar to how nullability is treated in reference types, except that the _HT tag will not be displayed in the rendered spec.

Previously the definition of `heaptype` was `... | EXACT typeuse | typeuse`, but this made it impossible to treat the exactness as a variable. Refactor the definition to `... | _HT exact? typeuse` instead. This is similar to how nullability is treated in reference types, except that the `_HT` tag will not be displayed in the rendered spec.
@tlively tlively requested a review from rossberg July 13, 2026 11:53
@tlively

tlively commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

The only problem with this is that non-exact references now render with extra parentheses, e.g. (ref null (x)). @rossberg, do you know how to fix that?

@tlively

tlively commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

I figured out the parentheses. This should be good to go.

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