Commits


Greg Bowyer authored and Andrew Lamb committed d202f1bbac7
ARROW-10636: [Rust][Parquet] Switch to Rust Stable by removing specialization in parquet https://issues.apache.org/jira/browse/ARROW-10636 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: - [x] Purge the added `std::mem::transmute`s if possible - [x] Refine and rationalise the `unimplemented!` implementations - [x] Performance test? - [x] Rebase & Relabel commits with JIRA number Closes #8698 from GregBowyer/remove-rust-specialization Authored-by: Greg Bowyer <gbowyer@fastmail.co.uk> Signed-off-by: Andrew Lamb <andrew@nerdnetworks.org>