authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-10-21 23:22:55-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-10-21 23:22:55-07:00
log912e7dc54b9b49d96123ffd398e6d40b455997fe
treeabeeab43faa3f56766f745b905b9d189076a5972
parent6cd14f051d22fdba913a800f1230143965e360ca

Sema: resoveTypeLayout resolves optionals and error unions too

Previously it only worked on struct, union, and array.

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

src/Sema.zig+9
...@@ -13662,6 +13662,15 @@ pub fn resolveTypeLayout(...@@ -13662,6 +13662,15 @@ pub fn resolveTypeLayout(
13662 const elem_ty = ty.childType();13662 const elem_ty = ty.childType();
13663 return sema.resolveTypeLayout(block, src, elem_ty);13663 return sema.resolveTypeLayout(block, src, elem_ty);
13664 },13664 },
13665 .Optional => {
13666 var buf: Type.Payload.ElemType = undefined;
13667 const payload_ty = ty.optionalChild(&buf);
13668 return sema.resolveTypeLayout(block, src, payload_ty);
13669 },
13670 .ErrorUnion => {
13671 const payload_ty = ty.errorUnionPayload();
13672 return sema.resolveTypeLayout(block, src, payload_ty);
13673 },
13665 else => {},13674 else => {},
13666 }13675 }
13667}13676}