Repository navigation
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## 47a-take-ownership-allocator #642 +/- ##
================================================================
- Coverage 98.66% 98.64% -0.03%
================================================================
Files 105 105
Lines 29389 29443 +54
Branches 3446 3449 +3
================================================================
+ Hits 28997 29043 +46
- Misses 257 261 +4
- Partials 135 139 +4 🚀 New features to boost your workflow:
|
eriknw
force-pushed
the
47b-udt-values-length
branch
2 times, most recently
from
October 20, 2026 22:28
72b5b5d to
d78b619
Compare
eriknw
force-pushed
the
47b-udt-values-length
branch
from
October 21, 2026 04:14
d78b619 to
9d1970f
Compare
eriknw
force-pushed
the
47b-udt-values-length
branch
from
October 21, 2026 08:38
9d1970f to
3495a38
Compare
eriknw
force-pushed
the
47b-udt-values-length
branch
from
October 28, 2026 04:29
3495a38 to
310edf5
Compare
eriknw
force-pushed
the
47b-udt-values-length
branch
from
October 28, 2026 13:21
310edf5 to
d9e3728
Compare
Values for a sub-array dtype are converted to its scalar type, and build counted only the leading dimension, so `Vector.from_coo([0, 1], np.ones(2), "FP64[2]")` handed GraphBLAS 2 numbers where it reads 4 and built from whatever followed the array. Raise unless the trailing shape is the element's, in build, from_csr/from_csc, and from_dense. Without SuiteSparse, a scalar value now broadcasts to whole elements too (it read past the end the same way), and from_csr/from_csc with a scalar no longer fail for a sub-array dtype on SuiteSparse.
Without SuiteSparse, build gives a UDT the dup_op binary.any, and that needs Numba, so test_subarray_dtype_values_shape failed with a KeyError on the vanilla backend without Numba. Skip it there only; without Numba on SuiteSparse it still runs.
eriknw
force-pushed
the
47b-udt-values-length
branch
from
October 29, 2026 02:01
d9e3728 to
8a00ef4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Values for a sub-array dtype are converted to its scalar type, and build
counted only the leading dimension, so
handed GraphBLAS 2 numbers where it reads 4 and built from whatever memory
followed the array: the second element came back as garbage (3.1e-314 in one
run), and under macOS guard malloc the process segfaults. It now raises
in build, from_csr/from_csc and from_dense. Two scalar cases in the same code
are fixed too: on suitesparse-vanilla a scalar value now fills whole elements
(it read past the end the same way), and on SuiteSparse from_csr/from_csc with
a scalar no longer raise InvalidValue for a sub-array dtype. Record UDTs were
not affected. The new tests fail without the fix. A second commit skips
them on suitesparse-vanilla without numba, where a UDT cannot be built.
The
ss.import_*functions could over-read the same way (UDT values, andbuilt-in values when
nvalsorsizeis given); the next PR guards them.