Repository navigation
Expect source operators to bind in AOT in the tuple conversion matrix - #7580
Conversation
#7547 (closing #7511) made Native AOT discover converters from method data source return types, so source-only implicit and explicit operators now bind in AOT. #7559 added the matrix with the earlier expectation and its last CI run predates #7547, so on main TupleConversionMatrixTests.Binding fails in AOT mode: ExactOperator, TupleOperator, NullableTupleOperator and ExplicitOperator now bind. Fixes #7579
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
|
Review: LGTM. This is a test-expectation-only change in One optional note. This matrix drifted once already, and it only surfaced as red AOT checks on every PR. A short comment on the |
[Low impact] The PR appears safe to merge. SummaryUpdates four tuple conversion rows to expect successful AOT binding.
Reviews (1) · Last reviewed commit: "Expect source operators to bind in AOT i..." · Reviewed by Greptile |
|
Thanks. I'm leaving the optional note as is: no open bug backs the 9 rows that still set |
Fixes #7579.
Problem
On
main,TupleConversionMatrixTests.Bindingfails in AOT mode on every OS, so every PR'sAOTchecks fail. The matrix (#7559) expected four source-defined operator rows not to bind in AOT, citing #7511. #7547 fixed #7511 by discovering AOT converters from method data source return types, and it merged at 06:04. #7559's last CI run was at 05:37, before that merge, so its expectation was stale when it merged at 06:21. Onmain,ExactOperator,TupleOperator,NullableTupleOperatorandExplicitOperatornow bind in AOT, as they already do in JIT and Reflection mode.Change
Those four rows no longer set
BindsAot: false, and the comment above them now says why they bind. No runtime code changes. The generatedConversionFixtures.csdoes not depend onBindsAot, so it is unchanged.Validation
TUnit.TestProjectwith Native AOT (osx-arm64) and ran/*/TUnit.TestProject.TupleConversions/*/*. 58 tests ran, 40 passed and 18 failed, and all 29 rows match the updatedBindsAotexpectations: the 9 rejected rows fail at binding and the 20 others pass.TUnit.Analyzers.TestsTupleConversionMatrixTests: 30/30 passed.TUnit.Engine.Testsis not run locally (repository policy); CI'sAOTandEngine testschecks cover it.Summary by CodeRabbit