typecheck: add support for typing.Any

This commit is contained in:
Maximilian Hils 2017-04-24 13:39:59 +02:00
parent e32efcae49
commit 2b500f234f
2 changed files with 8 additions and 0 deletions

View File

@ -68,5 +68,7 @@ def check_type(name: str, value: typing.Any, typeinfo: typing.Any) -> None:
return
else:
raise e
elif typename.startswith("typing.Any"):
return
elif not isinstance(value, typeinfo):
raise e

View File

@ -79,3 +79,9 @@ def test_check_io():
typecheck.check_type("foo", io.StringIO(), typing.IO[str])
with pytest.raises(TypeError):
typecheck.check_type("foo", "foo", typing.IO[str])
def test_check_any():
typecheck.check_type("foo", 42, typing.Any)
typecheck.check_type("foo", object(), typing.Any)
typecheck.check_type("foo", None, typing.Any)