v0.13.7
errors and warnings / stdlib

errors and warnings / stdlib / E8440

E8440 error

Invalid macro conditional in a literal state driver (brackets, or an unknown condition)

area
stdlib (x8xxx)
fails the build
yes

A literal macro conditional handed to wowlua:secure (visibility, state, evaluate) doesn't parse: a [ without ], a bracket in the wrong place, @ without a unit, or a condition the client doesn't know (combat, mod, group, form, bonusbar, exists, help, harm, vehicleui, petbattle, …, each also with no). @unit and target=unit are accepted; arguments such as mod:shift are not checked. Fix the conditional so that the driver does what you wrote.

Example

× failswowlua
import * as secure from "wowlua:secure" local bar = CreateFrame("Frame", nil, UIParent, "SecureHandlerStateTemplate")secure.visibility(bar, "[incombat] show; hide")
✓ compileswowlua
import * as secure from "wowlua:secure" local bar = CreateFrame("Frame", nil, UIParent, "SecureHandlerStateTemplate")secure.visibility(bar, "[combat] show; hide")

The compiler reports it like this:

error[E8440]: invalid macro conditional: unknown condition `incombat`
  ┌─ src/main.wowlua:4:24
  │
4 │ secure.visibility(bar, "[incombat] show; hide")
  │                        ^^^^^^^^^^^^^^^^^^^^^^^ here
codemessage
E8441Visibility driver value other than show or hide

Offline

terminal
$ wowlua explain E8440
E8440 (error): Invalid macro conditional in a literal state driver (brackets, or an unknown condition)

source on GitHub ↗