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]
