arrow-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From paddy horan <paddyho...@hotmail.com>
Subject [Discuss][Rust] Policy regarding "unsafe"
Date Fri, 10 Jan 2020 02:13:22 GMT
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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message