fix(mir): dispatch optional interface method calls - #4435
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
⏭️ Performance benchmarks were skippedPerf benchmarks (CodSpeed) are opt-in on pull requests — they no longer run on every push. They always run automatically after merge to To run them on this PR, do any of the following, then push a commit (or re-run CI):
|
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (2)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe MIR lowering now resolves interface dispatch targets for optional member accesses by removing ChangesOptional interface dispatch
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This localized compiler dispatch fix includes regression and package tests, with only routine pre-merge test confirmation remaining. No actionable merge-blocking risk remains. Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Binary size checks passed✅ 7 passed
Generated by |
## Summary - add comprehensive release notes for the independent `baml_language` 0.17.0 release line - separate user-facing features, breaking and compatibility changes, fixes, performance work, and internal changes - synchronize the canary version, SDK packages, bridge runtime identities, generated Node loader guards, and VS Code extension to `0.17.0` ## Verified comparison range - previous release: `baml-language-0.16.0` at `2e021b3429db8769656e9b8646657c1863789169` - reviewed product target: `baml-language-source-c0153b20108bc428b77a53128b9a59ddeb4e2b42` at `c0153b20108bc428b77a53128b9a59ddeb4e2b42` - the reviewed product target was also `origin/canary` when the updated notes were prepared - full product comparison: BoundaryML/baml@baml-language-0.16.0...baml-language-source-c0153b20108bc428b77a53128b9a59ddeb4e2b42 The product range contains 43 monorepo commits. The notes cover every merged PR in the range that touched `baml_language/`, plus the baml_language-specific macOS test suppression and binary-size baseline workflow update. The post-BoundaryML#4424 review added BoundaryML#4427, BoundaryML#4431, BoundaryML#4432, BoundaryML#4433, BoundaryML#4434, BoundaryML#4103, and BoundaryML#4435. BoundaryML#3975 and BoundaryML#3510 are in the monorepo comparison but are excluded because they change only the main engine/docs release line. Other unrelated documentation, website, JetBrains, on-call, and general monorepo changes are also excluded. The five commits in this PR add and refine the changelog and mechanically prepare release metadata; they do not add product behavior beyond the reviewed target. ## Release safety This PR remains draft. Its `baml_language/release.toml` change is the documented canary release request: merging it to `canary` after green CI would dispatch the production 0.17.0 release workflow. Do not merge or mark ready until Sam explicitly approves the release. No package was published, no release tag was created or pushed, no artifact was uploaded, and no production release workflow was triggered during preparation. ## Validation - `scripts/baml-language-version sync` - `scripts/baml-language-version check` - `scripts/baml-language-version show` → `0.17.0` - `scripts/baml-language-version compute --channel canary` → `0.17.0` - `python3 -m unittest scripts.tests.test_baml_language_version scripts.tests.test_release_pipeline_contract` — 39 passed - `cargo test --manifest-path baml_language/Cargo.toml -p baml_version` - `mise run validate-markdown` from `baml_language/` - changed-file `prek` hooks, including Cargo formatting, Clippy, C++ formatting, TOML checks, and Markdown validation - `git diff --check` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added system and filesystem capabilities, cryptography utilities, time arithmetic, assertions, bitwise operations, improved indexing, toolchain pinning, and LSP code actions. - Added stable merge sorting for array helpers. - **Bug Fixes** - Improved language behavior, diagnostics, CLI evaluation, playground workflows, and language-server synchronization. - **Breaking Changes** - Updated string APIs, function field requirements, prompt syntax, and type-checking behavior. - **Documentation** - Added release notes for version 0.17.0. - **Release** - Published version 0.17.0 across supported SDKs and tooling. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Issue Reference
Fixes B-1180.
Changes
Testing
baml check --project crates/baml_tests/baml_srccargo test -p baml_compiler2_mir: 3 passedcargo test -p baml_tests --lib compiler2_mir: 27 passedcargo clippy -p baml_compiler2_mir --all-targets -- -D warningsSummary by CodeRabbit
Bug Fixes
Tests