Commit 349c957
committed
feat: reintroduce view machinery for non-identity band views
Re-enables non-null `view` rows in the N-D raster reader. PR-B treats a
non-null view as a hard read error because its only writer (start_band)
emits the canonical identity (null view row); the view → byte-stride
composition path is needed by the slice/manipulation functions
(RS_Slice, RS_SliceRange, RS_DimToBand, RS_BandToDim) that land on
top of this PR.
Reintroduced:
- traits.rs: validate_view() + 22 unit tests.
- builder.rs: start_band_with_view() builder API and ~12
view-construction tests (slice, broadcast, transpose, negative-step,
IPC round-trip, etc.).
- array.rs: view → byte-stride composition in nd_buffer(), view-aware
contiguous_data() Cow::Owned strided-copy slow path, and the array
reader tests for explicit views (negative steps, OOB axis, length
mismatch, malformed view rejection).
Identity-view writer/reader behavior is unchanged; PR-B's error path on
non-null view rows is replaced by the composition path validated here.1 parent 999a577 commit 349c957
3 files changed
Lines changed: 1954 additions & 205 deletions
0 commit comments