🥅 zm: interface-generated proxy should use the same error types #875
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 aproxy
use with this new ability ofinterface
and they had theirproxy
return a specific error type. This for example is the case forzbus::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.