| ... | ... | @@ -504,7 +504,17 @@ pub const Block = struct { |
| 504 | 504 | }; |
| 505 | 505 | } |
| 506 | 506 | |
| 507 | | pub fn wantSafety(block: *const Block) bool { |
| 507 | fn wantSafeTypes(block: *const Block) bool { |
| 508 | return block.want_safety orelse switch (block.sema.pt.zcu.optimizeMode()) { |
| 509 | .Debug => true, |
| 510 | .ReleaseSafe => true, |
| 511 | .ReleaseFast => false, |
| 512 | .ReleaseSmall => false, |
| 513 | }; |
| 514 | } |
| 515 | |
| 516 | fn wantSafety(block: *const Block) bool { |
| 517 | if (block.isComptime()) return false; // runtime safety checks are pointless in comptime blocks |
| 508 | 518 | return block.want_safety orelse switch (block.sema.pt.zcu.optimizeMode()) { |
| 509 | 519 | .Debug => true, |
| 510 | 520 | .ReleaseSafe => true, |
| ... | ... | @@ -3294,7 +3304,7 @@ fn zirUnionDecl( |
| 3294 | 3304 | .tagged |
| 3295 | 3305 | else if (small.layout != .auto) |
| 3296 | 3306 | .none |
| 3297 | | else switch (block.wantSafety()) { |
| 3307 | else switch (block.wantSafeTypes()) { |
| 3298 | 3308 | true => .safety, |
| 3299 | 3309 | false => .none, |
| 3300 | 3310 | }, |
| ... | ... | @@ -22219,7 +22229,7 @@ fn reifyUnion( |
| 22219 | 22229 | .tagged |
| 22220 | 22230 | else if (layout != .auto) |
| 22221 | 22231 | .none |
| 22222 | | else switch (block.wantSafety()) { |
| 22232 | else switch (block.wantSafeTypes()) { |
| 22223 | 22233 | true => .safety, |
| 22224 | 22234 | false => .none, |
| 22225 | 22235 | }, |