Skip to content

Commit 349c957

Browse files
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

File tree

0 commit comments

Comments
 (0)