| author | |
| committer | |
| log | 86570b3e2c58da76d7e94531c1aa8017012b0521 |
| tree | d99ede808fcb32307224875d9c642fe0c5d0989b |
| parent | 6fc9f6c5f6a067475f97cd16cb265332c8b7c6f3 |
3 files changed, 10 insertions(+), 2 deletions(-)
src/Sema.zig+2-2| ... | ... | @@ -21614,10 +21614,10 @@ fn beginComptimePtrLoad( |
| 21614 | 21614 | deref.ty_without_well_defined_layout = field_ptr.container_ty; |
| 21615 | 21615 | } |
| 21616 | 21616 | |
| 21617 | const tv = &(deref.pointee orelse { | |
| 21617 | const tv = deref.pointee orelse { | |
| 21618 | 21618 | deref.pointee = null; |
| 21619 | 21619 | break :blk deref; |
| 21620 | }); | |
| 21620 | }; | |
| 21621 | 21621 | const coerce_in_mem_ok = |
| 21622 | 21622 | (try sema.coerceInMemoryAllowed(block, field_ptr.container_ty, tv.ty, false, target, src, src)) == .ok or |
| 21623 | 21623 | (try sema.coerceInMemoryAllowed(block, tv.ty, field_ptr.container_ty, false, target, src, src)) == .ok; |
test/behavior.zig+1| ... | ... | @@ -82,6 +82,7 @@ test { |
| 82 | 82 | _ = @import("behavior/bugs/11179.zig"); |
| 83 | 83 | _ = @import("behavior/bugs/11181.zig"); |
| 84 | 84 | _ = @import("behavior/bugs/11213.zig"); |
| 85 | _ = @import("behavior/bugs/12003.zig"); | |
| 85 | 86 | _ = @import("behavior/byteswap.zig"); |
| 86 | 87 | _ = @import("behavior/byval_arg_var.zig"); |
| 87 | 88 | _ = @import("behavior/call.zig"); |
test/behavior/bugs/12003.zig created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | test { | |
| 2 | comptime { | |
| 3 | const tuple_with_ptrs = .{ &0, &0 }; | |
| 4 | const field_ptr = (&tuple_with_ptrs.@"0"); | |
| 5 | _ = field_ptr.*; | |
| 6 | } | |
| 7 | } |