[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 13/14] qapi: Allow anonymous base for flat un
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v5 13/14] qapi: Allow anonymous base for flat union |
Date: |
Thu, 10 Mar 2016 13:50:38 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 |
On 03/10/2016 01:22 PM, Markus Armbruster wrote:
> Eric Blake <address@hidden> writes:
>
>> Rather than requiring all flat unions to explicitly create
>> a separate base struct, we can allow the qapi schema to specify
>> the common members via an inline dictionary. This is similar to
>> how commands can specify an inline anonymous type for its 'data'.
>> We already have several struct types that only exist to serve as
>> a single flat union's base; the next commit will clean them up
>> (in particular, the doc change to the BlockdevOptions example in
>> this patch will be reflected to QMP in the next).
>
> The parenthesis is a bit cryptic. "Reflected"?
Maybe s/reflected to/implemented in/ would read better.
>
>> Now that anonymous bases are legal, we need to rework the
>> flat-union-bad-base negative test (as previously written, it
>> forms what is now valid QAPI; tweak it to now provide coverage
>> of a new error message path), and add a positive test in
>> qapi-schema-test to use an anonymous base (making the integer
>> argument optional, for even more coverage).
>>
>> Note that this patch only allows anonymous bases for flat unions;
>> simple unions are already enough syntactic sugar that we do not
>> want to burden them further. Meanwhile, while it would be easy
>> to also allow an anonymous base for structs, that would be quite
>> redundant, as the members can be put right into the struct
>> instead.
>>
>> Signed-off-by: Eric Blake <address@hidden>
>
> Patch looks good.
>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH v5 09/14] qapi: Inline gen_visit_members() into lone caller, (continued)
[Qemu-devel] [PATCH v5 13/14] qapi: Allow anonymous base for flat union, Eric Blake, 2016/03/09
[Qemu-devel] [PATCH v5 14/14] qapi: Use anonymous bases in QMP flat unions, Eric Blake, 2016/03/09
[Qemu-devel] [PATCH v5 11/14] qapi: Don't special-case simple union wrappers, Eric Blake, 2016/03/09
Re: [Qemu-devel] [PATCH v5 00/14] easier unboxed visits/qapi implicit types, Markus Armbruster, 2016/03/10