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 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.