chaokunyang commented on PR #3252:
URL: https://github.com/apache/fory/pull/3252#issuecomment-3914937533

   
   The float16 serializer is added, but key runtime integration paths are 
incomplete: dynamic-any resolution, skip/compatibility handling, and primitive 
array encoding are not wired for the new type. These cause real runtime 
failures and cross-language/type-id mismatches.
   
   - [P1] Register Float16 in builtin type resolver 
—rust/fory-core/src/serializer/number.rs:106-106
     This adds a Serializer for float16, but the builtin registration table is 
not updated, so Float16 has no runtime TypeInfo entry. Typed fields can
     work, but polymorphic paths (Box<dyn Any>, Rc/Arc<dyn Any>) fail with 
TypeId ... not found in type_info registry when the payload is Float16, which
     makes the new primitive unusable in existing dynamic-any flows.
   - [P1] Support skipping FLOAT16 in compatible deserialization — 
/Users/chaokunyang/Desktop/dev/fory/rust/fory-core/src/serializer/number.rs:121-123
     Now that TypeId::FLOAT16 is emitted, compatible/schema-evolution readers 
must be able to skip it, but serializer/skip.rs has no FLOAT16 handling.
     Deserializing older schemas from newer payloads that contain float16 
values currently fails with Unimplemented type id: 17 instead of skipping the
     unknown field, which breaks backward-compatible reads.
   - [P1] Serialize Vec<Float16> as FLOAT16_ARRAY 
—rust/fory-core/src/types.rs:401-401
     This declares Vec<float16> as FLOAT16_ARRAY, but the list primitive-path 
logic still omits float16, so Vec<Float16> is serialized as generic LIST
     rather than FLOAT16_ARRAY. That causes type mismatches against peers that 
send/expect the xlang primitive array type and also loses the primitive-array 
fast path for this new type.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to