invalid-annotation
Default severity: warning · Identifier: weavec::invalid-annotation
What it means
Section titled “What it means”A weavec.* annotation WeaveC does not recognise, WEAVEC_NULLABLE and WEAVEC_NONNULL on the same declaration, WEAVEC_RETAINS and WEAVEC_RELEASES on the same declaration, WEAVEC_OWNED_BY(f) without WEAVEC_OWNED (RFC 0010), WEAVEC_SIZED_BY(n) on a non-pointer or naming no integer parameter ('<p>' is declared WEAVEC_SIZED_BY(n) but is not a pointer / ... but 'n' is not an integer parameter, RFC 0011), WEAVEC_SIZED_BY(g) on a field that is not a pointer or whose g is no integer field of the record (field 'data' is declared WEAVEC_SIZED_BY(cap) but 'cap' is not an integer field of 'struct buf' / field 'n' is declared WEAVEC_SIZED_BY(cap) but is not a pointer, once per unit, when the field is first used), or weavec.assume on any function but weavec.h’s ('weavec.assume' is not an annotation for 'f', RFC 0012). Reported on definitions.
How to resolve it
Section titled “How to resolve it”Check the macro spelling, placement, supported declaration kind, and named parameters or fields. WEAVEC_SIZED_BY must name an appropriate integer count; WEAVEC_OWNED_BY requires an ownership declaration. See annotation placement.