atspi_client/
collection_ext.rs1use atspi_proxies::collection::{
2 Collection, CollectionBlocking, CollectionProxy, CollectionProxyBlocking,
3};
4
5impl_extended_errors!(CollectionProxy<'_>, CollectionExtError);
6impl_extended_errors!(CollectionProxyBlocking<'_>, CollectionBlockingExtError);
7
8#[allow(clippy::module_name_repetitions)]
9pub trait CollectionExtError: Collection {
10 type Error: std::error::Error;
11}
12pub trait CollectionBlockingExtError: CollectionBlocking {
13 type Error: std::error::Error;
14}
15
16pub trait CollectionExt {}
17pub trait CollectionBlockingExt {}
18
19impl<T: CollectionExtError + Collection> CollectionExt for T {}
20impl<T: CollectionBlockingExtError + CollectionBlocking> CollectionBlockingExt for T {}
21
22assert_impl_all!(CollectionProxy: Collection, CollectionExt);
23assert_impl_all!(CollectionProxyBlocking: CollectionBlocking, CollectionBlockingExt);