Affects Version/s: None
Fix Version/s: 1.9.655
Patch:Code and Test
Somewhere between version 1.9.293 and 1.9.456 the type hint "^boolean" stopped working for "js/goog.DEBUG" and, as a result, this expression silently stopped being a functioning DCE guard in ":advanced" compilations.
So this code example no longer "works" (in the sense that DCE doesn't happen anymore):
Note: if the guard condition is changed to use "^boolean goog.DEBUG" (no leading "js/") then it does work. So the leading "js/" is a problem.
thheller speculates that this bug arose during the introduction of :infer-externs
Some discussion in slack:
I have created a minimal repo which demonstrates the problem: