New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Rust] Minimize unstable feature usage #21208
Comments
Steven Fackler / @sfackler:
In the arrow crate itself, it's only used for the BufferBuilderTrait. One possibility there is to have a Cargo feature that has the specialized, blanket impl, and separate impls for each primitive type without the feature. You can't work with it generically over arbitrary primitive types then, but it's still better than nothing. There's more usage in parquet, but I haven't dug too deeply into it. |
Paddy Horan / @paddyhoran: Once we took that step and it was agreed that we were building against nightly we adopted packed_simd. We should minimize the nightly features though and try to get back on stable when possible. |
Neville Dipale / @nevi-me: EDIT: looks like try_from is getting stabilised in 1.34 error: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
--> arrow/src/lib.rs:27:12
|
27 | #![feature(try_from)]
| ^^^^^^^^
|
= note: `-D stable-features` implied by `-D warnings`
|
Steven Fackler / @sfackler: |
The Rust implementation currently uses quite a few nightly features. This is unfortunately a hard blocker on using these crates for many users.
Here's the list of currently use nightly features:
type_ascription: Unused, can be trivially removed.
rustc_private: Unused, can be trivially removed.
box_syntax: Indefinitely far from stabilization, trivially replaceable with Box::new.
box_patterns: Indefinitely far from stabilization, replaceable with some minor restructuring of a couple of matches.
serde's alloc feature: Unused, can be trivially removed.
try_from: Scheduled for stabilization in Rust 1.35.
specialization: Actively being worked on - maybe ~1 year timeframe?
packed_simd: Actively being worked on - maybe ~1 year timeframe?
The first set of features are easy enough to get rid of - I'll make a PR to do that (https://github.com/sfackler/arrow/tree/more-stable). I'm a bit less sure of what to do with specialization and packed_simd, though.
Reporter: Steven Fackler / @sfackler
Assignee: Steven Fackler / @sfackler
Related issues:
PRs and other links:
Note: This issue was originally created as ARROW-4678. Please see the migration documentation for further details.
The text was updated successfully, but these errors were encountered: