Fix == on arrays (#939)
Currently, doing `==` on arrays fails at runtime with ``` AttributeError: type object 'Array[models.__sharedstd__.__shapes__.std.uuid]' has no attribute '__gel_type_class__' ``` and produces a `bool` at typecheck time instead of a `type[std.bool]`. My approach to fixing this is to replace uses of `Array` with `std.array`, which has a `__gel_type_class__` and all the appropriate overloadings. When I extend this approach to other similar types, though, like `Range`, I run into problems: the `typing_dispatch` based overloaded constructor for range always fails when doing a `Type.model_validate(r.model_dump())`, in part because the overloads all seem to want want `std.bool` and won't accept real bools. @elprans Does this seem like the right approach, and I should continue down this path and fix any problems in the way (like those mentioned above), or do you think I'm on the wrong track here?
M
Michael J. Sullivan committed
22f84b32c46a28d68f676af0fe1eaf03982230c4
Parent: 8a4d5aa
Committed by GitHub <noreply@github.com>
on 9/30/2025, 5:55:37 PM