diff --git a/runtype/base_types.py b/runtype/base_types.py index 53e319b..e2f55d9 100644 --- a/runtype/base_types.py +++ b/runtype/base_types.py @@ -52,6 +52,7 @@ def __mul__(self, other: _Type): def __le__(self, other): return NotImplemented + class AnyType(Type): """Represents the Any type. diff --git a/runtype/pytypes.py b/runtype/pytypes.py index b96a506..822f734 100644 --- a/runtype/pytypes.py +++ b/runtype/pytypes.py @@ -177,6 +177,15 @@ def cast_from(self, obj): return obj + def __eq__(self, other): + if type(other) != type(self): + return False + return self.kernel == other.kernel + + def __hash__(self): + return hash((type(self), self.kernel)) + + class TupleType(PythonType): def test_instance(self, obj, sampler=None): return isinstance(obj, tuple)