Sema: fix bad boolean logic for cast to null panic

Closes #14349
This commit is contained in:
Veikka Tuominen 2023-01-17 19:31:00 +02:00
parent e04547642a
commit 3b2c421102

View File

@ -27330,7 +27330,7 @@ fn coerceCompatiblePtrs(
return sema.addConstant(dest_ty, val);
}
try sema.requireRuntimeBlock(block, inst_src, null);
const inst_allows_zero = (inst_ty.zigTypeTag() == .Pointer and inst_ty.ptrAllowsZero()) or true;
const inst_allows_zero = inst_ty.zigTypeTag() != .Pointer or inst_ty.ptrAllowsZero();
if (block.wantSafety() and inst_allows_zero and !dest_ty.ptrAllowsZero() and
try sema.typeHasRuntimeBits(dest_ty.elemType2()))
{