Skip to main content

impl_auto_builder

Macro impl_auto_builder 

Source
macro_rules! impl_auto_builder {
    ($ty:ty, $cap:ty, $err:ty, |$kit:ident| $body:expr) => { ... };
}
Expand description

Implements AutoBuilder for a module type (sync counterpart to impl_async_auto_builder!).

§Syntax

impl_auto_builder!(Type, Capability, Error, |kit| <expr>);

§Example

use std::sync::Arc;
use trait_kit::impl_module_meta;
use trait_kit::impl_auto_builder;
use trait_kit::core::{AutoBuilder, ModuleMeta};
use trait_kit::kit::Kit;

struct MyModule;
impl_module_meta!(MyModule, "my-module");
impl_auto_builder!(
    MyModule,
    Arc<Cap>,
    MockErr,
    |_kit| Ok(Arc::new(Cap { v: 42 }))
);