aboutsummaryrefslogtreecommitdiff
path: root/src/check_type.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2018-01-28 09:51:52 +0000
committergingerBill <bill@gingerbill.org>2018-01-28 09:51:52 +0000
commit83d90f146398bf6cff751d239406328dbb95e724 (patch)
tree98deb3f41f9282f4b725606d09d01e1d6bbacf4d /src/check_type.cpp
parentf661ae9d095b4b7d6e8a51f7b539612afe4162a0 (diff)
Extra check for `type_info` cycle checking
Diffstat (limited to 'src/check_type.cpp')
-rw-r--r--src/check_type.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/check_type.cpp b/src/check_type.cpp
index 41c975185..4beb88bdb 100644
--- a/src/check_type.cpp
+++ b/src/check_type.cpp
@@ -1671,6 +1671,10 @@ bool check_procedure_type(Checker *c, Type *type, AstNode *proc_type_node, Array
c->context.polymorphic_scope = c->context.scope;
}
+ CheckerContext prev = c->context;
+ defer (c->context = prev);
+ c->context.curr_proc_sig = type;
+
bool variadic = false;
isize variadic_index = -1;
bool success = true;