| ... | @@ -29043,6 +29043,7 @@ fn elemValArray( | ... | @@ -29043,6 +29043,7 @@ fn elemValArray( |
| 29043 | } | 29043 | } |
| 29044 | | 29044 | |
| 29045 | try sema.validateRuntimeElemAccess(block, elem_index_src, elem_ty, array_ty, array_src); | 29045 | try sema.validateRuntimeElemAccess(block, elem_index_src, elem_ty, array_ty, array_src); |
| | 29046 | try sema.validateRuntimeValue(block, array_src, array); |
| 29046 | | 29047 | |
| 29047 | if (oob_safety and block.wantSafety()) { | 29048 | if (oob_safety and block.wantSafety()) { |
| 29048 | // Runtime check is only needed if unable to comptime check. | 29049 | // Runtime check is only needed if unable to comptime check. |
| ... | @@ -29107,6 +29108,7 @@ fn elemPtrArray( | ... | @@ -29107,6 +29108,7 @@ fn elemPtrArray( |
| 29107 | | 29108 | |
| 29108 | if (!init) { | 29109 | if (!init) { |
| 29109 | try sema.validateRuntimeElemAccess(block, elem_index_src, array_ty.elemType2(zcu), array_ty, array_ptr_src); | 29110 | try sema.validateRuntimeElemAccess(block, elem_index_src, array_ty.elemType2(zcu), array_ty, array_ptr_src); |
| | 29111 | try sema.validateRuntimeValue(block, array_ptr_src, array_ptr); |
| 29110 | } | 29112 | } |
| 29111 | | 29113 | |
| 29112 | // Runtime check is only needed if unable to comptime check. | 29114 | // Runtime check is only needed if unable to comptime check. |
| ... | @@ -29164,6 +29166,7 @@ fn elemValSlice( | ... | @@ -29164,6 +29166,7 @@ fn elemValSlice( |
| 29164 | } | 29166 | } |
| 29165 | | 29167 | |
| 29166 | try sema.validateRuntimeElemAccess(block, elem_index_src, elem_ty, slice_ty, slice_src); | 29168 | try sema.validateRuntimeElemAccess(block, elem_index_src, elem_ty, slice_ty, slice_src); |
| | 29169 | try sema.validateRuntimeValue(block, slice_src, slice); |
| 29167 | | 29170 | |
| 29168 | if (oob_safety and block.wantSafety()) { | 29171 | if (oob_safety and block.wantSafety()) { |
| 29169 | const len_inst = if (maybe_slice_val) |slice_val| | 29172 | const len_inst = if (maybe_slice_val) |slice_val| |
| ... | @@ -29220,6 +29223,7 @@ fn elemPtrSlice( | ... | @@ -29220,6 +29223,7 @@ fn elemPtrSlice( |
| 29220 | } | 29223 | } |
| 29221 | | 29224 | |
| 29222 | try sema.validateRuntimeElemAccess(block, elem_index_src, elem_ptr_ty, slice_ty, slice_src); | 29225 | try sema.validateRuntimeElemAccess(block, elem_index_src, elem_ptr_ty, slice_ty, slice_src); |
| | 29226 | try sema.validateRuntimeValue(block, slice_src, slice); |
| 29223 | | 29227 | |
| 29224 | if (oob_safety and block.wantSafety()) { | 29228 | if (oob_safety and block.wantSafety()) { |
| 29225 | const len_inst = len: { | 29229 | const len_inst = len: { |