diff options
Diffstat (limited to 'boot/materialization.cc')
| -rw-r--r-- | boot/materialization.cc | 14 |
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); + } } } } |
