errors and warnings / manifest / E4301
E4301 error
toc-layout: "single" forced, but a targeted client lacks a needed TOC feature
- area
- manifest (x4xxx)
- fails the build
- yes
build.toc-layout is "single", but a client of a targeted flavor lacks a
TOC feature that one TOC for all flavors needs: comma-separated
## Interface values, inline load conditions on file lines, inline conditions
on ## lines (for flavor-specific addon-dependencies entries),
[AllowLoadTextLocale], or a game-type name the TOC uses. Such a client would
misread the TOC: one that knows none of the game types in a condition loads
the file anyway, so it could run every flavor's code at once. The message
names the client and the feature.
Use "toc-layout": "auto" (the default), which falls back to one TOC per
flavor when a client lacks a feature, or stop targeting that flavor. Below, a
Retail beta client cannot read the condition that the camelot-only
dependency needs.
Example
{ "package": { "name": "playground", "version": "0.1.0", "wowlua": "^0.13" }, "flavors": { "standard": {}, "camelot": {} }, "addon-dependencies": { "optional": [{ "name": "Details", "flavors": ["camelot"] }] }, "build": { "toc-layout": "single" }}{ "package": { "name": "playground", "version": "0.1.0", "wowlua": "^0.13" }, "flavors": { "standard": {}, "camelot": {} }, "addon-dependencies": { "optional": [{ "name": "Details", "flavors": ["camelot"] }] }, "build": { "toc-layout": "auto" }}The compiler reports it like this:
error[E4301]: `build.toc-layout` is `single`, but the client retail-beta 12.0.1 does not support inline load directives on `##` lines = in wowlua.json = help: use `"toc-layout": "auto"` or drop the flavor
Related codes
| code | message |
|---|---|
| E4302 | Per-flavor TOC names cannot distinguish the targeted flavors |
| W4304 | Flavors' load orders conflict; falling back to per-flavor TOC layout |
Offline
$ wowlua explain E4301 E4301 (error): toc-layout: "single" forced, but a targeted client lacks a needed TOC feature