Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🥅 zm: interface-generated proxy should use the same error types #875

Merged
merged 2 commits into from
Jun 29, 2024

Conversation

zeenix
Copy link
Contributor

@zeenix zeenix commented Jun 29, 2024

If user specifies a Result type as return type of a method, the generated proxy should use the same error types. We might need to add an attribute to control in the future, as this as this may not always be what the user wants.

We should do this because if we hardcode the error type to be zbus::Error, the API will have to break if one decides to replace a proxy use with this new ability of interface and they had their proxy return a specific error type. This for example is the case for zbus::fdo API, which we want to convert in the future.

Speaking of API break, this change itself is an API break but practically speaking the chances of someone already making use of the newly added feature of generating proxy from interface is pretty low (on the Matrix channel people didn't even know it was added), let alone them using a custom error in interface methods while not in proxy as well.

If user specifies a Result type as return type of a method, the generated
proxy should use the same error types. We might need to add an attribute
to control in the future, as this as this may not always be what the user
wants.

We should do this because if we hardcode the error type to be
`zbus::Error`, the API will have to break if one decides to replace a
`proxy` use with this new ability of `interface` and they had their
`proxy` return a specific error type. This for example is the case for
`zbus::fdo` API, which we want to convert in the future.

Speaking of API break, this change itself is an API break but
practically speaking the chances of someone already making use of the
newly added feature of generating proxy from interface is pretty low (on
the Matrix channel people didn't even know it was added), let alone them
using a custom error in interface methods while not in proxy as well.
@zeenix zeenix enabled auto-merge June 29, 2024 21:04
@zeenix zeenix merged commit 4a939fa into dbus2:main Jun 29, 2024
7 checks passed
@zeenix zeenix deleted the interface-proxy-error branch June 29, 2024 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant