From bc16b290ba6c2168baf1153b4c7691e679f68b46 Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Sun, 2 Jul 2017 22:08:39 +0100 Subject: Disable polymorphic overloading in the global scope TODO: Figure out why it does not work in the global scope --- src/check_decl.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/check_decl.cpp') diff --git a/src/check_decl.cpp b/src/check_decl.cpp index 0826f59ca..14fd6f3ec 100644 --- a/src/check_decl.cpp +++ b/src/check_decl.cpp @@ -601,6 +601,8 @@ void check_proc_body(Checker *c, Token token, DeclInfo *decl, Type *type, AstNod } CheckerContext old_context = c->context; + defer (c->context = old_context); + c->context.scope = decl->scope; c->context.decl = decl; c->context.proc_name = proc_name; @@ -660,7 +662,6 @@ void check_proc_body(Checker *c, Token token, DeclInfo *decl, Type *type, AstNod check_scope_usage(c, c->context.scope); - c->context = old_context; if (decl->parent != NULL) { // NOTE(bill): Add the dependencies from the procedure literal (lambda) -- cgit v1.2.3