trait Deserialize not implemented &zvariant::ObjectPath<'_> if derving a signal
I'm currently implementing logind-zbus using zbus-xmlgen generated rust. For the most part everything is working well except for blocks like this:
#[dbus_proxy(signal)]
fn seat_new(&self, seat_id: &str, object_path: &zvariant::ObjectPath) -> zbus::Result<()>;
Build test gives:
[luke@datatron]$ cargo rustc -- -Z macro-backtrace
Compiling logind-zbus v0.1.9 (/home/luke/Projects/logind-zbus)
error[E0277]: the trait bound `&zvariant::ObjectPath<'_>: Deserialize<'_>` is not satisfied
--> src/generated/manager.rs:29:1
|
29 | / #[dbus_proxy(
30 | | interface = "org.freedesktop.login1.Manager",
31 | | default_service = "org.freedesktop.login1",
32 | | default_path = "/org/freedesktop/login1"
33 | | )]
| | ^
| | |
| |__the trait `Deserialize<'_>` is not implemented for `&zvariant::ObjectPath<'_>`
| in this macro invocation
|
::: /home/luke/.cargo/registry/src/github.com-1ecc6299db9ec823/zbus_macros-1.8.0/src/lib.rs:89:1
|
89 | pub fn dbus_proxy(attr: TokenStream, item: TokenStream) -> TokenStream {
| ---------------------------------------------------------------------- in this expansion of `#[dbus_proxy]`
|
= help: the following implementations were found:
<zvariant::ObjectPath<'a> as Deserialize<'de>>
= note: required because of the requirements on the impl of `Deserialize<'_>` for `(&str, &zvariant::ObjectPath<'_>)`