Sema: less aggressive type resolution for field_val

This is an alternate version of c675daac7d0d6328ad89297e8938a6b17b59c489
This commit is contained in:
Andrew Kelley 2023-09-21 12:20:56 -07:00
parent 1b672e41c5
commit d3f3de73ba

View File

@ -26780,7 +26780,7 @@ fn structFieldVal(
}
try sema.requireRuntimeBlock(block, src, null);
try sema.queueFullTypeResolution(field_ty);
try sema.resolveTypeLayout(field_ty);
return block.addStructFieldVal(struct_byval, field_index, field_ty);
},
.anon_struct_type => |anon_struct| {
@ -26869,7 +26869,7 @@ fn tupleFieldValByIndex(
}
try sema.requireRuntimeBlock(block, src, null);
try sema.queueFullTypeResolution(field_ty);
try sema.resolveTypeLayout(field_ty);
return block.addStructFieldVal(tuple_byval, field_index, field_ty);
}
@ -27051,7 +27051,7 @@ fn unionFieldVal(
_ = try block.addNoOp(.unreach);
return .unreachable_value;
}
try sema.queueFullTypeResolution(field_ty);
try sema.resolveTypeLayout(field_ty);
return block.addStructFieldVal(union_byval, field_index, field_ty);
}
@ -27347,7 +27347,7 @@ fn tupleField(
try sema.validateRuntimeElemAccess(block, field_index_src, field_ty, tuple_ty, tuple_src);
try sema.requireRuntimeBlock(block, tuple_src, null);
try sema.queueFullTypeResolution(field_ty);
try sema.resolveTypeLayout(field_ty);
return block.addStructFieldVal(tuple, field_index, field_ty);
}