The GitHub Actions job "Fory CI" on fory.git/main has failed. Run started by GitHub user chaokunyang (triggered by chaokunyang).
Head commit for run: 0e4ac5917898e4fbd253a5d638a21ff15d500d67 / Shawn Yang <[email protected]> feat(cpp): support struct property accessors (#3751) ## Why? C++ struct serialization only accepted data-member field entries, which made PIMPL-style or private-storage types awkward to serialize when their stable public surface is an accessor pair. ## What does this PR do? - Adds `FORY_PROPERTY` field entries for accessor-backed C++ struct fields, including same-name getter/setter, custom getter/setter, and optional `fory::F(...)` metadata forms. - Introduces compile-time property descriptors plus shared field type/get/set helpers so struct serialization, compatible struct reads, row encoding, and type metadata can handle both member pointers and accessor properties. - Keeps direct-member primitive fast paths limited to direct fields while routing accessor-backed fields through their setter path. - Adds C++ coverage for property metadata, PIMPL property round trips, configured accessor metadata, and compatible nested named structs. - Documents accessor properties in the C++ serialization and schema metadata guides. ## Related issues Closes #3747 ## AI Contribution Checklist - [ ] Substantial AI assistance was used in this PR: `yes` / `no` - [ ] If `yes`, I included a completed [AI Contribution Checklist](https://github.com/apache/fory/blob/main/AI_POLICY.md#9-contributor-checklist-for-ai-assisted-prs) in this PR description and the required `AI Usage Disclosure`. - [ ] If `yes`, my PR description includes the required `ai_review` summary and screenshot evidence of the final clean AI review results from both fresh reviewers on the current PR diff or current HEAD after the latest code changes. ## Does this PR introduce any user-facing change? Adds the C++ `FORY_PROPERTY` macro for accessor-backed struct fields. This does not change the binary protocol. - [x] Does this PR introduce any public API change? - [ ] Does this PR introduce any binary protocol compatibility change? ## Benchmark Not run; this PR changes C++ struct metadata/accessor support and does not include benchmark changes. Report URL: https://github.com/apache/fory/actions/runs/27404611475 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
