This throws the below assertion error:
string[]@ arr;
while (false && (@arr = cast<array<string>>(null) !is null)) {
break;
}
which can be avoided/fixed by adding parens around the assignment like so:
string[]@ arr;
while (false && ((@arr = cast<array<string>>(null)) !is null)) {
break;
}
![](https://uploads.gamedev.net/forums/monthly_2023_10/4d17097670804ca68250f94551e2bc9b.273425698-8d9bae6e-f3d7-4ce4-b5c5-0a5d5b81bdcd.png)
originally reported on openplanet github: https://github.com/openplanet-nl/issues/issues/385