ID:2818739
 
Resolved
The use of multiple ?. or ?: operators on the left-hand side of an assignment, or with any other side-effect operator like ++, did not compile correctly and caused the null check not to work as it should. This was caused by a fix to an earlier bug but was still being masked by old code that should have been removed. The problem appeared in build 514.1586 when the old cruft masking the issue was taken out.
BYOND Version:514
Operating System:Windows 10 Pro
Web Browser:Firefox 103.0
Applies to:Dream Maker
Status: Resolved (514.1588)

This issue has been resolved.
Descriptive Problem Summary:

If you chain ?.s together, their nullchecking fails to work

Numbered Steps to Reproduce Problem:
#1 Use ?.s
#2 Watch as they fail to stop null values

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
I believe it broke in 514.1586, since I doubt the fix patch of 1587 would have done it.

Workarounds:

Use manual nullchecks
Lummox JR resolved issue with message:
The use of multiple ?. or ?: operators on the left-hand side of an assignment, or with any other side-effect operator like ++, did not compile correctly and caused the null check not to work as it should. This was caused by a fix to an earlier bug but was still being masked by old code that should have been removed. The problem appeared in build 514.1586 when the old cruft masking the issue was taken out.