Empty Array lead to "The strides must not allow any element to be referenced by two different indices"
还没有人认领这个 Issue。
评估
调研方向
Start with the dim_stride_overlap function identified in the issue and reproduce both ArrayView2::from_shape_ptr examples, including the (1, 0) shape with (0, 0) strides. Done means empty arrays with either zero dimension are accepted consistently, while non-empty overlapping strides continue to be rejected.
由索引模型根据 Issue 内容生成。
描述
I tried to create an empty array with the following command:
let shape = (1, 0).strides((0, 0));
let ptr = std::ptr::dangling::<f64>();
unsafe { ArrayView2::from_shape_ptr(shape, ptr) }
It fails with "The strides must not allow any element to be referenced by two different indices".
But the slightly different code works:
let shape = (0, 1).strides((0, 0));
let ptr = std::ptr::dangling::<f64>();
unsafe { ArrayView2::from_shape_ptr(shape, ptr) }
My expectation would be that both variants work fine.
I think the bug is inside dim_stride_overlap, which fails before the first 0 dimension is found and therefore recognises that the complete array is empty.
By the way, I use (0, 0) strides, since ndarray does the same for empty array e.g. created via zeros function.
- 主要语言
- Rust
- 星标
- 4.3k
- 派生
- 391
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
rust-ndarray/ndarray 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
rust-ndarray/ndarray#1612 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 48/100
rust-ndarray/ndarray#1617 · 1 条评论 ·
-
bug good first issue
难度 3/5 1-2 天 新手友好度 68/100
rust-ndarray/ndarray#1615 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 48/100
rust-ndarray/ndarray#1610 ·
-
breaking-change enhancement
难度 3/5 1-2 天 新手友好度 45/100
rust-ndarray/ndarray#1591 · 2 条评论 ·
查看 rust-ndarray/ndarray 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
-
issue
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 2/5 1-3 小时 新手友好度 75/100
-
agentic-workflows
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 88/100
web-infra-dev/rspack#15847 ·