[
https://issues.apache.org/jira/browse/ARROW-4678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16777461#comment-16777461
]
Steven Fackler commented on ARROW-4678:
---------------------------------------
Right, yeah.
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.
> [Rust] Minimize unstable feature usage
> --------------------------------------
>
> Key: ARROW-4678
> URL: https://issues.apache.org/jira/browse/ARROW-4678
> Project: Apache Arrow
> Issue Type: Improvement
> Components: Rust
> Affects Versions: 0.12.0
> Reporter: Steven Fackler
> Priority: Major
>
> 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.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)