@@ -862,20 +862,23 @@ pub const ErrorDetails = struct {
862862pub const ErrorDetailsWithoutCodePage = blk : {
863863 const details_info = @typeInfo (ErrorDetails );
864864 const fields = details_info .@"struct" .fields ;
865- var fields_without_codepage : [fields .len - 1 ]std.builtin.Type.StructField = undefined ;
865+ var field_names : [fields .len - 1 ][]const u8 = undefined ;
866+ var field_types : [fields .len - 1 ]type = undefined ;
867+ var field_attrs : [fields .len - 1 ]std.builtin.Type.StructField.Attributes = undefined ;
866868 var i : usize = 0 ;
867869 for (fields ) | field | {
868870 if (std .mem .eql (u8 , field .name , "code_page" )) continue ;
869- fields_without_codepage [i ] = field ;
871+ field_names [i ] = field .name ;
872+ field_types [i ] = field .type ;
873+ field_attrs [i ] = .{
874+ .@"comptime" = field .is_comptime ,
875+ .@"align" = field .alignment ,
876+ .default_value_ptr = field .default_value_ptr ,
877+ };
870878 i += 1 ;
871879 }
872- std .debug .assert (i == fields_without_codepage .len );
873- break :blk @Type (.{ .@"struct" = .{
874- .layout = .auto ,
875- .fields = & fields_without_codepage ,
876- .decls = &.{},
877- .is_tuple = false ,
878- } });
880+ std .debug .assert (i == fields .len - 1 );
881+ break :blk @Struct (.auto , null , & field_names , & field_types , & field_attrs );
879882};
880883
881884fn cellCount (code_page : SupportedCodePage , source : []const u8 , start_index : usize , end_index : usize ) usize {
0 commit comments