aboutsummaryrefslogtreecommitdiff
path: root/boot/materialization.cc
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-10-09 09:55:53 +0200
committerEugen Wissner <belka@caraus.de>2026-10-09 10:33:53 +0200
commit244449004fb62adbfd43b81e8dfce7500ca4a7e4 (patch)
treeb115946fc1efc2edc0de71a4e6d7cce2c50f39f2 /boot/materialization.cc
parent994e6c95929ad9551901d86617e4678920f8f357 (diff)
downloadelna-244449004fb62adbfd43b81e8dfce7500ca4a7e4.tar.gz
Move export mark after the generic parameters
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);
+ }
}
}
}