Trait bound not satisfies when #[dbus_proxy(property)] is present
For this piece of code:
#[dbus_proxy(interface = "org.freedesktop.IBus")]
trait IBus {
/// CurrentInputContext property
#[dbus_proxy(property)]
fn current_input_context(&self) -> zbus::Result<zvariant::OwnedObjectPath>;
/// Engines property
#[dbus_proxy(property)]
fn engines(&self) -> zbus::Result<Vec<zvariant::OwnedValue>>;
}
The compiler shows these errors:
error[E0277]: the trait bound `OwnedObjectPath: From<OwnedValue>` is not satisfied
--> src/ibus.rs:30:1
|
30 | #[dbus_proxy(interface = "org.freedesktop.IBus")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<OwnedValue>` is not implemented for `OwnedObjectPath`
|
= help: the following implementations were found:
<OwnedObjectPath as From<zvariant::ObjectPath<'a>>>
= note: required because of the requirements on the impl of `Into<OwnedObjectPath>` for `OwnedValue`
= note: required because of the requirements on the impl of `TryFrom<OwnedValue>` for `OwnedObjectPath`
= note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `Vec<OwnedValue>: TryFrom<OwnedValue>` is not satisfied
--> src/ibus.rs:30:1
|
30 | #[dbus_proxy(interface = "org.freedesktop.IBus")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `TryFrom<OwnedValue>` is not implemented for `Vec<OwnedValue>`
|
= help: the following implementations were found:
<Vec<T> as TryFrom<OwnedValue>>
<Vec<T> as TryFrom<zvariant::Array<'a>>>
<Vec<T> as TryFrom<zvariant::Value<'a>>>
= note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 2 previous errors
But the code compiles successfully when I remove those two #[dbus_proxy(property)]
attributes.
Thanks!