The GitHub Actions job "npm_and_yarn in /javascript for uuid - Update #1340716627" on fory.git/main has failed. Run started by GitHub user dependabot[bot] (triggered by dependabot[bot]).
Head commit for run: 79aa38a285606b32911aca48d628226925e24092 / Shawn Yang <[email protected]> feat: add nested container codec for rust (#3630) ## Why? Rust generated serializers need field-local codec selection so nested container element/key/value metadata, nullability, reference tracking, and integer encodings can be represented consistently in compatible and xlang serialization. The Rust derive API also now distinguishes structs, pure enums, and union-style enums instead of routing every data shape through one `ForyObject` derive. ## What does this PR do? - Adds Rust field codecs for serializer-backed fields, options, lists/sets, maps, nested container entries, integer encodings, `Any`, and trait object fields. - Reworks `fory-derive` field binding, read, write, and metadata generation to dispatch through codecs when field annotations or nested metadata require it, while preserving declared generic metadata for unannotated container fields. - Splits the Rust derive macros into `ForyStruct`, `ForyEnum`, and `ForyUnion`, with validation for applying each macro to the matching Rust data shape. - Updates Rust IDL/codegen output to emit nested `list(...)` and `map(...)` field attributes and the new derive macros. - Updates Rust docs, README examples, benchmark fixtures, and tests from `ForyObject` to the new derive names. - Adds Rust coverage for nested codec annotations, compatible-mode integer encoding mismatches, collection generic metadata, trait-object/`Any` containers, and serialized benchmark payload sizes. - Adds a dedicated C++ IDL CI job setup and keeps the C++ xlang job naming consistent. ## Related issues #1017 #3625 ## 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? - [x] Does this PR introduce any public API change? - [x] Does this PR introduce any binary protocol compatibility change? Rust users should derive `ForyStruct`, `ForyEnum`, or `ForyUnion` instead of the previous `ForyObject` macro. Rust generated serializers can now emit nested list/map field metadata and field-level codec behavior for annotated containers. ## Benchmark No benchmark results are included in the PR diff. The Rust benchmark test fixture now asserts serialized size baselines for the covered payloads. Report URL: https://github.com/apache/fory/actions/runs/25066784309 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
