Weird syntax error

seems like what’s necessary is:

  1. at least one anonymous function definition, and
  2. at least one short-circuiting operator && or ||, inside
  3. 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