lzaeh commented on PR #2760:
URL: https://github.com/apache/fory/pull/2760#issuecomment-3432113527

   ## Scope of this change
   
   ### This change removes array support only along the usage path, reflected 
in:
   
   1. getTypeInfo behavior: except for []byte (which still uses its concrete 
type to enable zero-copy, out-of-band storage optimizations, etc.), all other 
[]T are treated as lists.
   
   2. Reflect checks: code paths that handled reflect.Array have been removed. 
Since arrays aren’t supported, they’re considered unavailable to users.
   
   3. User-supplied arrays: if a user forces an array, per (1) the system 
reports an error indicating [N]T is not supported.
   
   ### What I did not change
   
   I’m unsure whether we should purge array-related constructs from the type 
system itself. Fully removing them would touch a lot of code. Keeping the 
definitions around but unused might serve as a transitional/contingency option, 
even if arrays are effectively deprecated right now.
   That said, if we do want to remove arrays from the type system entirely, let 
me know and I’ll follow up.
   
   ### Cross-language test adjustments
   
   For TestXLangSerializer: since other languages may interact with the same 
unit as Python, I removed the array-related code paths on both the Go and 
Python sides within this test. I then added a separate 
test_cross_language_serializer_go case in Python’s cross-language tests so that 
Go still covers this part. If this setup isn’t appropriate, please let me know.
   
   ### Remaining work (Relatively higher-priority tasks, Just my opinion)
   
   Update the struct field ordering logic accordingly. After updating the 
Python module, two struct tests failed due to hash mismatches. I haven’t 
changed the handling of complex structs, which means the code path for fields 
that are arrays within complex structs remains untouched—and this test includes 
arrays. If I tweak just one spot now, it’ll be hard to localize the issue. It’s 
better to make the corresponding changes after I spend time learning the new 
sorting/ordering optimization algorithm, so we can update everything in sync.
   
   @chaokunyang 


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