You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Andrew Lamb (Jira)" <ji...@apache.org> on 2021/04/26 12:31:04 UTC

[jira] [Closed] (ARROW-8637) [Rust] Resolve Issues with `prettytable-rs` dependency

     [ https://issues.apache.org/jira/browse/ARROW-8637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Lamb closed ARROW-8637.
------------------------------
    Resolution: Invalid

> [Rust] Resolve Issues with `prettytable-rs` dependency
> ------------------------------------------------------
>
>                 Key: ARROW-8637
>                 URL: https://issues.apache.org/jira/browse/ARROW-8637
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: Rust
>            Reporter: Mark Hildreth
>            Priority: Minor
>
> {{prettytable-rs}} is a dependency of Arrow for creating a string for displaying record batches in a tabular form (see [pretty util|https://github.com/apache/arrow/blob/c546eef41e6ab20c4ca29a2d836987959843896f/rust/arrow/src/util/pretty.rs#L24-L25]) The crate, however, has some issues:
>  
> 1.) {{prettytable-rs}} has a dependency on the {{term}} crate. The {{term}} crate is under minimal maintenance, and it is advised to switch to another crate. This will probably pop up in an [informational security advisory|https://rustsec.org/advisories/RUSTSEC-2018-0015] if it's decided one day to audit the crates.
> 2.) The crate also has a dependency on {{encode-unicode}}. While not problematic in its own right, this crate implements some traits which can bring about confusing type inference issues. For example, after adding the {{prettytable-rs}} dependency in arrow, the following error occurred what attempting to compile the parquet crate:
>  
> {{let seed_vec: Vec<u8> =}}
> {{    Standard.sample_iter(&mut rng).take(seed_len).collect();}}
>  
> {{error[E0282]: type annotations needed}}
> {{   --> parquet/src/encodings/rle.rs:833:26}}
> {{    |}}
> {{833 | Standard.sample_iter(&mut rng).take(seed_len).collect();}}
> {{    | ^^^^^^^^^^^ cannot infer type for `T`}}
>  
> Any user of the arrow crate would see a similar style of error.
>  
> There are a few possible ways to resolve this:
>  
> 1.) Hopefully hear from the crate maintainer. There is a [PR open|https://github.com/phsym/prettytable-rs/pull/125] for the encode-unicode issue.
> 2.) Find a different table-generating crate with less issues.
> 3.) Fork and fix prettytable-rs.
> 4.) ???
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)