aboutsummaryrefslogtreecommitdiff
path: root/boot/materialization.cc
diff options
context:
space:
mode:
Diffstat (limited to 'boot/materialization.cc')
-rw-r--r--boot/materialization.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/boot/materialization.cc b/boot/materialization.cc
index 6eea0d1..9e9d3ae 100644
--- a/boot/materialization.cc
+++ b/boot/materialization.cc
@@ -39,6 +39,10 @@ namespace elna::boot
return "Local symbols cannot be extern";
case field_export:
return "Record fields cannot be exported";
+ case variable_generic:
+ return "Variables cannot have generic parameters";
+ case field_generic:
+ return "Record fields cannot have generic parameters";
}
__builtin_unreachable();
}
@@ -78,6 +82,11 @@ namespace elna::boot
add_error<materialization_error>(variable_identifier.id().position(),
materialization_error::kind::local_export);
}
+ if (!variable_identifier.parameters.empty())
+ {
+ add_error<materialization_error>(variable_identifier.id().position(),
+ materialization_error::kind::variable_generic);
+ }
}
if (!this->in_global_scope && declaration->is_extern)
{
@@ -99,6 +108,11 @@ namespace elna::boot
add_error<materialization_error>(field_identifier.id().position(),
materialization_error::kind::field_export);
}
+ if (!field_identifier.parameters.empty())
+ {
+ add_error<materialization_error>(field_identifier.id().position(),
+ materialization_error::kind::field_generic);
+ }
}
}
}