meson.build | 1 + qapi/cxl.json | 4 +-- qapi/ui.json | 2 +- include/qapi/compat-policy.h | 2 +- include/qapi/qmp/dispatch.h | 4 +-- include/qapi/util.h | 2 +- include/qapi/visitor-impl.h | 4 +-- include/qapi/visitor.h | 12 ++++---- qapi/qapi-forward-visitor.c | 8 +++--- qapi/qapi-util.c | 6 ++-- qapi/qapi-visit-core.c | 12 ++++---- qapi/qmp-dispatch.c | 2 +- qapi/qmp-registry.c | 4 +-- qapi/qobject-input-visitor.c | 4 +-- qapi/qobject-output-visitor.c | 6 ++-- scripts/qapi/commands.py | 5 ++-- scripts/qapi/features.py | 48 ++++++++++++++++++++++++++++++++ scripts/qapi/gen.py | 9 +++--- scripts/qapi/main.py | 2 ++ scripts/qapi/schema.py | 31 ++++++++++++++++++++- scripts/qapi/types.py | 23 ++++++++------- scripts/qapi/visit.py | 21 ++++++-------- tests/meson.build | 2 ++ tests/qapi-schema/features-too-many.err | 2 ++ tests/qapi-schema/features-too-many.json | 13 +++++++++ tests/qapi-schema/features-too-many.out | 0 tests/qapi-schema/meson.build | 1 + 27 files changed, 163 insertions(+), 67 deletions(-) create mode 100644 scripts/qapi/features.py create mode 100644 tests/qapi-schema/features-too-many.err create mode 100644 tests/qapi-schema/features-too-many.json create mode 100644 tests/qapi-schema/features-too-many.out