Summary: | Do not use deprecated tokens when calling glib-genmarshal from dbus-binding-tool | ||
---|---|---|---|
Product: | dbus | Reporter: | Emmanuele Bassi (:ebassi) <ebassi> |
Component: | GLib | Assignee: | D-Bus Maintainers <dbus> |
Status: | RESOLVED WONTFIX | QA Contact: | D-Bus Maintainers <dbus> |
Severity: | normal | ||
Priority: | medium | CC: | ebassi |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Do not use deprecated tokens for glib-genmarshal
Do not use deprecated tokens for glib-genmarshal |
Description
Emmanuele Bassi (:ebassi)
2017-07-16 10:06:27 UTC
Created attachment 132706 [details] [review] Do not use deprecated tokens for glib-genmarshal The `NONE` token was deprecated alongside the `BOOL` token in the list of marshallable types for glib-genmarshal. While dbus-binding-tool correctly uses `BOOLEAN`, it still uses `NONE` instead of the correct `VOID` token. https://bugzilla.gnome.org/show_bug.cgi?id=101799 Created attachment 132710 [details] [review] Do not use deprecated tokens for glib-genmarshal The `NONE` token was deprecated alongside the `BOOL` token in the list of marshallable types for glib-genmarshal. While dbus-binding-tool correctly uses `BOOLEAN`, it still uses `NONE` instead of the correct `VOID` token. (In reply to Emmanuele Bassi (:ebassi) from comment #1) > The `NONE` token was deprecated alongside the `BOOL` token in the list > of marshallable types for glib-genmarshal. For context, when did this happen, and what ill effects does it have for the deprecated token to be used? dbus-glib (in its entirety) is deprecated, so while I agree that fixing deprecated things is a good goal, in a way it seems like a net positive if uses of dbus-glib result in increasingly many warnings over time. If I ever do another dbus-glib release, I'd be tempted to attach a G_DEPRECATED_FOR() to every public symbol in the hope that it might coax more of its remaining users to switch away (or get them removed from Linux distributions when they fail to build from source, if they use -Werror; either works for me). Comment on attachment 132710 [details] [review] Do not use deprecated tokens for glib-genmarshal Review of attachment 132710 [details] [review]: ----------------------------------------------------------------- If a user of dbus-glib (mistakenly or deliberately) includes generated marshallers in its ABI, then this is an ABI break, because the old function whatever_marshal_NONE__NONE() is going to be renamed to whatever_marshal_VOID__VOID(). (In reply to Simon McVittie from comment #4) > If a user of dbus-glib (mistakenly or deliberately) includes generated > marshallers in its ABI, then this is an ABI break It's also an API break for the user of dbus-glib, even if it doesn't expose the generated marshallers in its ABI. So this is WONTFIX, sorry. The solution for callers wishing to avoid deprecated functionality is to stop using dbus-binding-tool or dbus-glib. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.