Specify destructor events in the XML protocol files
While they should in general be avoided, there are currently destructor events in some protocols. I know of at least 3 of them:
-
wl_callback.done
in the core protocol -
zwp_linux_buffer_release_v1.fenced_release
andzwp_linux_buffer_release_v1.immediate_release
in the linux-explicit-synchronization protocol
Some language bindings make use of the "destructor" type of some requests to automatically handle the destruction of the associated Wayland objects (wayland-rs does for example), and they could use the same annotation for the events. (Currently, the wayland-rs scanner contains an hard-coded list of destructor events to patch the protocol files during code generation.)
Much like specifying the enum name for enum arguments, this is a change that would not affect users of the C API, but could improve bindings in other languages.
Is there anything that would be problematic with adding such annotation to the XML format, or is there some issue I didn't think about?