seems like what’s necessary is:
- at least one anonymous function definition, and
- at least one short-circuiting operator
&&
or||
, inside elseif
Causes syntax errors:
A.
if false
elseif false || (()->true)()
end
B.
if false
elseif false && (()->true)()
end
C.
if false
elseif false || false || (()->true)()
end
D.
if false
elseif (()->true)() || false
end
E.
if rand((false, true))
elseif rand((false, true)) || (()->true)()
end
F.
if true
elseif true || x->x
end
G.
if false
elseif false
elseif false || x->x
end
H.
if false
elseif (x->x) || x->x
end