GregBowyer opened a new pull request #8698:
URL: https://github.com/apache/arrow/pull/8698


   This is a very initial attempt at removing the specialization features from 
the Rust Parquet implementation.
   
   The specialisation is too complex to be covered by `min_specialization` and 
requires a bit of reworking in the crate.
   
   Right now the code dispatches in sub-traits and methods on the Parquet type, 
and uses a combination of trait abuse, macros and transmutes to eliminate the 
feature.
   
   I have broken this up into several commits ranging from the simplest 
removals (which could probably be taken fairly easily) to the most ugly and 
complex.
   
   I am not stoked on the `transmute` abuse, and I think another take (or 
follow up) should be taken to remove as many as possible in the code.
   
   The general trait for `DataType::T` has been made a private sealed trait to 
make it impossible to implement external to the Parquet crate, this is 
intentional as I dont think many of the public interfaces are sensible for end 
users to be able to implement.
   
   # TODO:
   [ ] Purge other transmutes if possible
   [ ] Refine and rationalise the `unimplemented!` implementations
   [ ] Performance test?


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

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


Reply via email to