You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Scalar hashing violates Eq for nested nullability #8744
Scalar::eq compares dtypes with DType::eq_ignore_nullability, which ignores nullability recursively. Scalar::hash hashes dtype.as_nonnullable(), which only removes top-level nullability.
As a result, equal scalars with nested dtypes can produce different hashes, violating Rust's Eq/Hash contract. This affects nested List, FixedSizeList, Struct, Union, and extension storage dtypes.
The typed views appear to have the same issue: ListScalar, StructScalar, and ExtScalar compare dtypes ignoring nullability but hash their raw dtypes.
Activity
Fix nested scalar hashing (vortex-data#8804)