Re: [RUST] [DISCUSS] Changing type of array lengths
I didn't hear any strong opinions against this change so the PR is here:
From: Marco Neumann <marco@xxxxxxxxxxxxxx.INVALID>
Sent: Friday, December 7, 2018 12:35 PM
Subject: Re: [RUST] [DISCUSS] Changing type of array lengths
On windows it depends if it's a 32 or 64 bit binary, like on every other system as well.
usize is usually used by Rust containers for indexing (see for example Vec in the standard library) and I found it personally very annoying if libraries break that rule, because in Rust you have to be explicit about integer conversions. You don't have implicit down or up sizings like in C/C++. So you cast all back and forth 100 of times just for a single library you use.
On December 7, 2018 6:18:42 PM GMT+01:00, Wes McKinney <wesmckinn@xxxxxxxxx> wrote:
>What would be the argument for using usize over i64/u64? Is usize 64
>bits in Rust when compiling on Windows?
>On Fri, Dec 7, 2018 at 9:48 AM Andy Grove <andygrove73@xxxxxxxxx>
>> I am in favor of using usize.
>> On Thu, Dec 6, 2018 at 7:20 PM paddy horan <paddyhoran@xxxxxxxxxxx>
>> > All,
>> > As part of the PR for ARROW-3347 there was a discussion regarding
>> > that should be used for anything that measures the length of an
>> > i.e. len and capacity.
>> > The result of this discussion was that the Rust implementation
>> > switch to using usize as the type for representing len and
>> > would mean supporting a way to split larger arrays into smaller
>> > passing data from one implementation to another. The exact size of
>> > smaller arrays would depend on the implementation you are passing
>> > C++ supports arrays up to size i64, but **all** implementations
>> > lengths up to i32 as specified by the spec. The full discussion is
>> > https://github.com/apache/arrow/pull/2858
>> > This is not a major change so I’ll push it to 0.13 but I wanted to
>> > the discussion before making the change, the previous debate was
>> > a PR. In particular, Andy and Chao are you in favor of this
>> > Paddy