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

   @ariesdevil  Most of such bugs are caused by the type system differences 
between laungages.
   
   I'm refactoring the whole xlang serialization to mark all fields not null by 
default, I think this refactor will resolve most such tricky issue.
   
   here is the principle:
   
   **Java**:
   1. All fields are not null except Optional 
   2. All fields don't track ref by default
   
   **Rust**
   1. All fields are not null except Option/RcWeak/ArcWeak
   2. Only Rc/Arc/RcWeak/ArcWeak track ref
   
   **Go**
   1. all fields are not null by default, except pointer
   2. slice/map/interface are not null by default
   
   **C++**
   1. All fields are not null except Optional, shared_ptr/unique_ptr are not 
null by default
   2. shared_ptr  track ref by default
   
   **Python**
   1. All fields are not null except Optional type hints
   2. All fields don't track ref by default
   
   
   


-- 
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