Skip to content

verifier + interpreter + VM + cranelift: allow ! on Optional#169

Merged
danieljohnmorris merged 2 commits into
mainfrom
fix/mget-bang-optional
May 11, 2026
Merged

verifier + interpreter + VM + cranelift: allow ! on Optional#169
danieljohnmorris merged 2 commits into
mainfrom
fix/mget-bang-optional

Conversation

@danieljohnmorris
Copy link
Copy Markdown
Collaborator

Every Optional consumer in the doc hits the same friction: mget! rejected because mget returns O _ not R _ _. Now ! works on Optional-returning builtins and user functions, with symmetric semantics: Some(v) yields v, Nil propagates as the function's nil-return (parallel to how Result-unwrap propagates the Err variant). The verifier enforces that the enclosing return type can hold nil. Cross-engine tests + example.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@danieljohnmorris danieljohnmorris force-pushed the fix/mget-bang-optional branch from ba1a31f to f879f44 Compare May 11, 2026 21:28
@danieljohnmorris danieljohnmorris merged commit ef6dc97 into main May 11, 2026
5 checks passed
@danieljohnmorris danieljohnmorris deleted the fix/mget-bang-optional branch May 11, 2026 22:30
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