@@ -83,6 +83,10 @@ def __eq__(self, other: DsCompatible) -> Self: # type:ignore[override]
83
83
def __ne__ (self , other : DsCompatible ) -> Self : # type:ignore[override]
84
84
return self ._binary_op (other , nputils .array_ne )
85
85
86
+ # When __eq__ is defined but __hash__ is not, then an object is unhashable,
87
+ # and it should be declared as follows:
88
+ __hash__ : None # type:ignore[assignment]
89
+
86
90
def __radd__ (self , other : DsCompatible ) -> Self :
87
91
return self ._binary_op (other , operator .add , reflexive = True )
88
92
@@ -291,6 +295,10 @@ def __eq__(self, other: DaCompatible) -> Self: # type:ignore[override]
291
295
def __ne__ (self , other : DaCompatible ) -> Self : # type:ignore[override]
292
296
return self ._binary_op (other , nputils .array_ne )
293
297
298
+ # When __eq__ is defined but __hash__ is not, then an object is unhashable,
299
+ # and it should be declared as follows:
300
+ __hash__ : None # type:ignore[assignment]
301
+
294
302
def __radd__ (self , other : DaCompatible ) -> Self :
295
303
return self ._binary_op (other , operator .add , reflexive = True )
296
304
@@ -851,6 +859,10 @@ def __eq__(self, other: GroupByCompatible) -> Dataset: # type:ignore[override]
851
859
def __ne__ (self , other : GroupByCompatible ) -> Dataset : # type:ignore[override]
852
860
return self ._binary_op (other , nputils .array_ne )
853
861
862
+ # When __eq__ is defined but __hash__ is not, then an object is unhashable,
863
+ # and it should be declared as follows:
864
+ __hash__ : None # type:ignore[assignment]
865
+
854
866
def __radd__ (self , other : GroupByCompatible ) -> Dataset :
855
867
return self ._binary_op (other , operator .add , reflexive = True )
856
868
@@ -973,6 +985,10 @@ def __eq__(self, other: T_Xarray) -> T_Xarray: # type:ignore[override]
973
985
def __ne__ (self , other : T_Xarray ) -> T_Xarray : # type:ignore[override]
974
986
return self ._binary_op (other , nputils .array_ne )
975
987
988
+ # When __eq__ is defined but __hash__ is not, then an object is unhashable,
989
+ # and it should be declared as follows:
990
+ __hash__ : None # type:ignore[assignment]
991
+
976
992
def __radd__ (self , other : T_Xarray ) -> T_Xarray :
977
993
return self ._binary_op (other , operator .add , reflexive = True )
978
994
0 commit comments