Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-6717 [Rust] Support stable Rust
  3. ARROW-10002

[Rust] Trait-specialization requires nightly

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0
    • Rust

    Description

      Trait specialization is widely used in the Rust Arrow implementation. Uses can be identified by searching for instances of default fn in the codebase:

       

      $> rg -c 'default fn' ../arrow/rust/
       ../arrow/rust/parquet/src/util/test_common/rand_gen.rs:1
       ../arrow/rust/parquet/src/column/writer.rs:2
       ../arrow/rust/parquet/src/encodings/encoding.rs:16
       ../arrow/rust/parquet/src/arrow/record_reader.rs:1
       ../arrow/rust/parquet/src/encodings/decoding.rs:13
       ../arrow/rust/parquet/src/file/statistics.rs:1
       ../arrow/rust/arrow/src/array/builder.rs:7
       ../arrow/rust/arrow/src/array/array.rs:3
       ../arrow/rust/arrow/src/array/equal.rs:3

       

      This feature requires Nightly Rust. Additionally, there is no schedule for stabilization , primarily due to an unresolved soundness hole. (Note: there has been further discussion and ideas for resolving the soundness issue, but to my knowledge no definitive action.)

      If we can remove specialization from the Rust codebase, we will not be blocked on the Rust team's stabilization of that feature in order to move to stable Rust.

      Attachments

        Activity

          People

            jorgecarleitao Jorge Leitão
            batmanaod Kyle Strand
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 5.5h
                5.5h