On Tue, Mar 09, 2021 at 17:44:16 +0000, Daniel Berrange wrote: > One of the conventions we have had since the early days of libvirt is > that every struct typedef, has a corresponding "Ptr" typedef too. > > For example > > typedef struct _virDomainDef virDomainDef; > typedef virDomainDef *virDomainDefPtr; [...] > We can't do anything about the use "Ptr" in the include/ files because > that is public ABI. We can potentially eliminate "Ptr" types everywhere > else in the codebase, even the src/libvirt*.c files corresponding to > the public includes. > > Does anyone have suggestions for how these "Ptr" typedefs are > benefiting libvirt ? Would anyone miss them ? I don't usually declare them for internal types any more. I will not mourn if we discourage them from now on. I'd just prefer if we either big-bang rewrite all of it or just discourage it's use in new code and let it gradually die, but not encourage any semi-concetrated effort to remove the use of them, since that creates a stream of steady and long enduring churn. Basically don't make a GSoC project or file an public 'bite-sized' task for it.