aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2017-10-01 21:22:39 +0100
committerGinger Bill <bill@gingerbill.org>2017-10-01 21:22:39 +0100
commitee904060c5e96073c775eaf1ebbe1d6b2d833928 (patch)
tree55083ff473d7d7a4a058944beb34eacf79f0b679 /src/check_expr.cpp
parentafb5538e832d7772b5149c899e78ccb8edf2dde3 (diff)
Disallow anonymous structs with procedures as default values
Diffstat (limited to 'src/check_expr.cpp')
-rw-r--r--src/check_expr.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp
index ceac342b4..c21f56c22 100644
--- a/src/check_expr.cpp
+++ b/src/check_expr.cpp
@@ -3301,6 +3301,11 @@ bool check_type_internal(Checker *c, AstNode *e, Type **type, Type *named_type)
check_struct_type(c, *type, e, nullptr, named_type);
check_close_scope(c);
(*type)->Struct.node = e;
+
+ if (named_type == nullptr && (*type)->Struct.has_proc_default_values) {
+ error(e, "Anonymous structs cannot have procedures as default values");
+ }
+
return true;
case_end;