Steps to Reproduce:
Run:
a := [1]; a[b] := (b := 0); true
Actual Results:
The filter can be evaluated fine with AbuseFilterCachingParser due to https://phabricator.wikimedia.org/diffusion/EABF/browse/master/includes/parser/AbuseFilterCachingParser.php$304. However, it has an unbound id in the original abusefilter.
Expected Results:
I think that the original abusefilter is more well-behaved. In particular, we should try to evaluate things from left to right to keep surprise at minimum.