| ... | ... | @@ -3489,7 +3489,10 @@ pub const Type = extern union { |
| 3489 | 3489 | return AbiSizeAdvanced{ .scalar = 0 }; |
| 3490 | 3490 | } |
| 3491 | 3491 | |
| 3492 | | if (!child_type.hasRuntimeBits()) return AbiSizeAdvanced{ .scalar = 1 }; |
| 3492 | if (!(child_type.hasRuntimeBitsAdvanced(false, strat) catch |err| switch (err) { |
| 3493 | error.NeedLazy => return AbiSizeAdvanced{ .val = try Value.Tag.lazy_size.create(strat.lazy, ty) }, |
| 3494 | else => |e| return e, |
| 3495 | })) return AbiSizeAdvanced{ .scalar = 1 }; |
| 3493 | 3496 | |
| 3494 | 3497 | if (ty.optionalReprIsPayload()) { |
| 3495 | 3498 | return abiSizeAdvanced(child_type, target, strat); |
| ... | ... | @@ -3518,7 +3521,10 @@ pub const Type = extern union { |
| 3518 | 3521 | // in abiAlignmentAdvanced. |
| 3519 | 3522 | const data = ty.castTag(.error_union).?.data; |
| 3520 | 3523 | const code_size = abiSize(Type.anyerror, target); |
| 3521 | | if (!data.payload.hasRuntimeBits()) { |
| 3524 | if (!(data.payload.hasRuntimeBitsAdvanced(false, strat) catch |err| switch (err) { |
| 3525 | error.NeedLazy => return AbiSizeAdvanced{ .val = try Value.Tag.lazy_size.create(strat.lazy, ty) }, |
| 3526 | else => |e| return e, |
| 3527 | })) { |
| 3522 | 3528 | // Same as anyerror. |
| 3523 | 3529 | return AbiSizeAdvanced{ .scalar = code_size }; |
| 3524 | 3530 | } |