diff --git a/toy-impl/test_top_level.py b/toy-impl/test_top_level.py index c5b72f5..f30dd30 100644 --- a/toy-impl/test_top_level.py +++ b/toy-impl/test_top_level.py @@ -5,7 +5,7 @@ from top_level import * test = """ class A: a: int - def foo(a: B) -> int: + def foo(a: B): pass class B(A): diff --git a/toy-impl/top_level.py b/toy-impl/top_level.py index 0f92c77..9afa138 100644 --- a/toy-impl/top_level.py +++ b/toy-impl/top_level.py @@ -16,7 +16,7 @@ class Context: def parse_type(ctx: Context, ty): if ty is None: - return None + return None, set() elif isinstance(ty, ast.Name): if ty.id in ctx.types: return ctx.types[ty.id], set() @@ -52,6 +52,8 @@ def parse_type(ctx: Context, ty): return VirtualClassType(param), var else: raise CustomError(f"Unknown Generic Type {ty.value}") + else: + raise CustomError(f"Unrecognized Type {ty}") def parse_function(ctx: Context, base, fn: ast.FunctionDef):