| ... | ... | @@ -3574,15 +3574,13 @@ pub const Type = extern union { |
| 3574 | 3574 | .u128, .i128, .f128 => return 128, |
| 3575 | 3575 | |
| 3576 | 3576 | .@"struct" => { |
| 3577 | | if (sema_kit) |sk| _ = try sk.sema.resolveTypeFields(sk.block, sk.src, ty); |
| 3578 | | if (ty.containerLayout() != .Packed) { |
| 3577 | const struct_obj = ty.castTag(.@"struct").?.data; |
| 3578 | if (struct_obj.layout != .Packed) { |
| 3579 | 3579 | return (try ty.abiSizeAdvanced(target, if (sema_kit) |sk| .{ .sema_kit = sk } else .eager)).scalar * 8; |
| 3580 | 3580 | } |
| 3581 | | var total: u64 = 0; |
| 3582 | | for (ty.structFields().values()) |field| { |
| 3583 | | total += try bitSizeAdvanced(field.ty, target, sema_kit); |
| 3584 | | } |
| 3585 | | return total; |
| 3581 | if (sema_kit) |sk| _ = try sk.sema.resolveTypeLayout(sk.block, sk.src, ty); |
| 3582 | assert(struct_obj.haveLayout()); |
| 3583 | return try struct_obj.backing_int_ty.bitSizeAdvanced(target, sema_kit); |
| 3586 | 3584 | }, |
| 3587 | 3585 | |
| 3588 | 3586 | .tuple, .anon_struct => { |