On 9/23/19 6:44 AM, Markus Armbruster wrote: >>>> Worth mentioning that type names themselves are NOT part of the >>>> interface, and may be freely renamed? >>> >>> Care to suggest a suitable sentence? >> >> Although member names within a type cannot be changed without affecting >> compatibility, > > This part seems redundant with the previous paragraph. > >> changes to type names themselves do not affect the >> protocol. As such, complex types may be freely renamed or refactored, > > All types (enums, structs, simple & flat unions, alternates) actually, > not just complex ones (structs, unions). > >> such as splitting members from one type into a common base type, as long >> as the resulting set of members remain compatible. > > What does it mean for a set of members to be compatible? We don't > actually define that... > > What about: > > Since type names are not visible in the Client JSON Protocol, types > may be freely renamed. Even certain refactorings are invisible, such > as splitting members from one type into a common base type.
Seems reasonable to me. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature