On 10/26/20 9:18 AM, Markus Armbruster wrote: > Eric Blake <ebl...@redhat.com> writes: > >> Placing GenericList in util.h will make it easier for the next patch >> to promote QAPI_LIST_ADD() into a public macro without requiring more >> files to include the unrelated visitor.h. > > Is this true? > > You don't actually need GenericList to make use of QAPI_LIST_ADD(), do > you? Any QAPI list type should do.
Correct, compilation still works if I drop this patch. > >> However, we can't also move GenericAlternate; this is because it would >> introduce a circular dependency: qapi-builtin-types.h needs a complete >> definition of QEnumLookup (so it includes qapi/util.h), and >> GenericAlternate needs a complete definition of QType (declared in >> qapi-builtin-types.h). Leaving GenericAlternate in visitor.h breaks >> the cycle, and doesn't matter since we don't have any further planned >> uses for that type outside of visitors. >> >> Suggested-by: Markus Armbruster <arm...@redhat.com> > > I did suggest to consider moving GenericList and GenericAlternate next > to QAPI_LIST_ADD(), because they're (loosely) related. We can't move > GenericAlternate. Moving only GenericList brings GenericList and > QAPI_LIST_ADD() together, but separates the more closely related > GenericList and GenericAlternate. Meh. > > I'd leave it put. Agreed. Dropping this patch in v6. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org