Hi All, This time last year there was a brief discussion on the usage of unsafe in Rust (a user on github raised the issue and I created the JIRA). [1]
So far we mostly avoid unsafe in the public API's. The thinking here is that Arrow is a "development platform", i.e. lower level that most libraries, and library builders will want to avoid any performance hit of bounds checking, etc. This is not typical in the Rust community where unsafe is a clear signal that care is needed. Although it might clutter the API a little more I would be in favor of having safe and unsafe variants of methods as needed. For instance, "value" for array access would be changed to "value" and "value_unchecked" where the latter is unsafe and does not perform bounds checks. We don't have a huge number of libraries building on top of Arrow in Rust at the moment so it seems like a good time, before 1.0, to decide on this to avoid breaking changes to the public API in post 1.0. Thoughts? Paddy [1] https://issues.apache.org/jira/browse/ARROW-3776?filter=12343557