authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-09-20 20:05:12-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-09-21 14:48:40-07:00
logcd242b7440e11d9997c33296b3974dfb1fbd5d95
tree9e0818feadd80986f68d7d84315fe72dc8fe9dfa
parent7d9cf156c381743ef7ede8a35c4a9c46e6033dd7

Sema: queue type resolution when adding a struct_field_val instruction


1 files changed, 4 insertions(+), 0 deletions(-)

src/Sema.zig+4
...@@ -26780,6 +26780,7 @@ fn structFieldVal(...@@ -26780,6 +26780,7 @@ fn structFieldVal(
26780 }26780 }
2678126781
26782 try sema.requireRuntimeBlock(block, src, null);26782 try sema.requireRuntimeBlock(block, src, null);
26783 try sema.queueFullTypeResolution(field_ty);
26783 return block.addStructFieldVal(struct_byval, field_index, field_ty);26784 return block.addStructFieldVal(struct_byval, field_index, field_ty);
26784 },26785 },
26785 .anon_struct_type => |anon_struct| {26786 .anon_struct_type => |anon_struct| {
...@@ -26868,6 +26869,7 @@ fn tupleFieldValByIndex(...@@ -26868,6 +26869,7 @@ fn tupleFieldValByIndex(
26868 }26869 }
2686926870
26870 try sema.requireRuntimeBlock(block, src, null);26871 try sema.requireRuntimeBlock(block, src, null);
26872 try sema.queueFullTypeResolution(field_ty);
26871 return block.addStructFieldVal(tuple_byval, field_index, field_ty);26873 return block.addStructFieldVal(tuple_byval, field_index, field_ty);
26872}26874}
2687326875
...@@ -27049,6 +27051,7 @@ fn unionFieldVal(...@@ -27049,6 +27051,7 @@ fn unionFieldVal(
27049 _ = try block.addNoOp(.unreach);27051 _ = try block.addNoOp(.unreach);
27050 return .unreachable_value;27052 return .unreachable_value;
27051 }27053 }
27054 try sema.queueFullTypeResolution(field_ty);
27052 return block.addStructFieldVal(union_byval, field_index, field_ty);27055 return block.addStructFieldVal(union_byval, field_index, field_ty);
27053}27056}
2705427057
...@@ -27344,6 +27347,7 @@ fn tupleField(...@@ -27344,6 +27347,7 @@ fn tupleField(
27344 try sema.validateRuntimeElemAccess(block, field_index_src, field_ty, tuple_ty, tuple_src);27347 try sema.validateRuntimeElemAccess(block, field_index_src, field_ty, tuple_ty, tuple_src);
2734527348
27346 try sema.requireRuntimeBlock(block, tuple_src, null);27349 try sema.requireRuntimeBlock(block, tuple_src, null);
27350 try sema.queueFullTypeResolution(field_ty);
27347 return block.addStructFieldVal(tuple, field_index, field_ty);27351 return block.addStructFieldVal(tuple, field_index, field_ty);
27348}27352}
2734927353