Commit 912e7dc54b

Andrew Kelley <andrew@ziglang.org>
2021-10-22 08:22:55
Sema: resoveTypeLayout resolves optionals and error unions too
Previously it only worked on struct, union, and array.
1 parent 6cd14f0
Changed files (1)
src/Sema.zig
@@ -13662,6 +13662,15 @@ pub fn resolveTypeLayout(
             const elem_ty = ty.childType();
             return sema.resolveTypeLayout(block, src, elem_ty);
         },
+        .Optional => {
+            var buf: Type.Payload.ElemType = undefined;
+            const payload_ty = ty.optionalChild(&buf);
+            return sema.resolveTypeLayout(block, src, payload_ty);
+        },
+        .ErrorUnion => {
+            const payload_ty = ty.errorUnionPayload();
+            return sema.resolveTypeLayout(block, src, payload_ty);
+        },
         else => {},
     }
 }