feat: add compile-time type metadata reflection

This commit is contained in:
2026-10-29 02:10:04 +01:00
parent c6acff91fd
commit 6f892bbfcc
6 changed files with 1141 additions and 30 deletions
+4
View File
@@ -119,6 +119,8 @@ Code :: enum {
invalid_generated_field_name
invalid_struct_layout
invalid_c_record_field_type
missing_metadata_import
invalid_metadata_abi
}
Diagnostic :: struct {
@@ -259,5 +261,7 @@ messages :: $enummap.init(Code, []u8, {
invalid_generated_field_name = "generated field name must be an ASCII identifier",
invalid_struct_layout = "generated record layout must be .auto or .c; C-layout records require at least one field",
invalid_c_record_field_type = "record field is not a supported C-layout value type",
missing_metadata_import = "typeinfo! requires importing @std/meta",
invalid_metadata_abi = "@std/meta declarations do not match the compiler reflection ABI",
})