@@ -83,6 +83,10 @@ def __eq__(self, other: DsCompatible) -> Self: # type:ignore[override]
8383 def __ne__ (self , other : DsCompatible ) -> Self : # type:ignore[override]
8484 return self ._binary_op (other , nputils .array_ne )
8585
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+
8690 def __radd__ (self , other : DsCompatible ) -> Self :
8791 return self ._binary_op (other , operator .add , reflexive = True )
8892
@@ -291,6 +295,10 @@ def __eq__(self, other: DaCompatible) -> Self: # type:ignore[override]
291295 def __ne__ (self , other : DaCompatible ) -> Self : # type:ignore[override]
292296 return self ._binary_op (other , nputils .array_ne )
293297
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+
294302 def __radd__ (self , other : DaCompatible ) -> Self :
295303 return self ._binary_op (other , operator .add , reflexive = True )
296304
@@ -851,6 +859,10 @@ def __eq__(self, other: GroupByCompatible) -> Dataset: # type:ignore[override]
851859 def __ne__ (self , other : GroupByCompatible ) -> Dataset : # type:ignore[override]
852860 return self ._binary_op (other , nputils .array_ne )
853861
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+
854866 def __radd__ (self , other : GroupByCompatible ) -> Dataset :
855867 return self ._binary_op (other , operator .add , reflexive = True )
856868
@@ -973,6 +985,10 @@ def __eq__(self, other: T_Xarray) -> T_Xarray: # type:ignore[override]
973985 def __ne__ (self , other : T_Xarray ) -> T_Xarray : # type:ignore[override]
974986 return self ._binary_op (other , nputils .array_ne )
975987
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+
976992 def __radd__ (self , other : T_Xarray ) -> T_Xarray :
977993 return self ._binary_op (other , operator .add , reflexive = True )
978994
0 commit comments