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]

Reply via email to