Diagnostics
Compiler diagnostics AV001 through AV010 reported by the Archevolt generator.
All generator diagnostics are errors except AV008, which is a warning. Runtime descriptor composition also rejects invalid metadata and dependencies.
| Code | Contract |
|---|---|
AV001 |
Invalid partial declaration, containing owner, or generated member shape. |
AV002 |
Unsupported managed or owning component, bundle, resource, or message type. |
AV003 |
Duplicate fields or members, conflicting query terms, or contradictory membership. |
AV004 |
Mutable query, resource, message, or command capabilities overlap. |
AV005 |
Unsupported system signature, parameter, method shape, or tag value access. |
AV006 |
Change filter references an untracked component. |
AV007 |
Unknown or ambiguous system, condition, group, dependency, duplicate order or key, or schedule cycle. |
AV008 |
Conflicting systems have no explicit dependency. The planner supplies a conservative order. |
AV009 |
Missing or incompatible module or system metadata, registration, or export. |
AV010 |
Unsafe partition request or condition capability. |
Common fixes
- AV001. Make the declaration and every containing type
partial, and make containing types non-generic. - AV002. Use unmanaged structs for components. Use a managed resource for reference types.
- AV004. Prove that mutable queries cannot overlap with
With<T>andWithout<T>, or split the work into separate systems. See Queries and filters. - AV006. Add
[TrackChanges]to the component or resource. See Change tracking. - AV007. Check
Before,After,Order, and instance keys on yourRundeclarations. - AV008. Add an explicit
BeforeorAfterdependency between the two systems.