Safely access data in PyUntypedArray
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- numpy, rust
- 领域
- api, backend-api-design, data
调研方向
从 PyUntypedArrayMethods::as_array_ptr 开始,阅读 issue 中引用的 Rust 指针到引用转换文档。确定现有指针的安全保证,并评估提议的 bytes accessor,包括为证明调用方可以在不使用自己的 unsafe code 的情况下安全访问数据所需的文档或测试。
由索引模型根据 Issue 内容生成。
描述
PyUntypedArrayMethods::as_array_ptr doesn’t describe under which circumstances the returned pointer is convertible into a reference.
Since the requirements are rather hairy, it would be great to have a way to access the data safely without going through unsafe. Would it e.g. be possible to have this?
trait PyUntypedArrayMethods<'py> {
...
fn bytes<'a>(&'a self) -> &'a [u8] {
let ptr = self.as_array_ptr();
let n_bytes = self.len() * self.dtype().itemsize();
unsafe {
let p = (*ptr).data.cast();
slice::from_raw_parts(p, n_bytes)
}
}
}
Because we currently implement this ourselves, but without any of the aforementioned safety information, we can’t really be sure if it’s safe.
- 主要语言
- Rust
- 星标
- 1.4k
- 派生
- 141
- 平均合并
- 16 分钟
- 30 天内合并 PR
- 3
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
PyO3/rust-numpy 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
PyO3/rust-numpy#565 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 58/100
PyO3/rust-numpy#563 ·
-
难度 3/5 1-2 天 新手友好度 56/100
PyO3/rust-numpy#557 ·
-
难度 3/5 1-2 天 新手友好度 45/100
PyO3/rust-numpy#547 · 2 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 20/100
PyO3/rust-numpy#535 ·
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
-
state:needs triage
难度 2/5 1-3 小时 新手友好度 70/100
zed-industries/zed#64680 · 2 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 70/100
RustPython/RustPython#8802 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
TheLarkInn/aipm#2390 ·