typed-container 0.1.2

A simple container for IoC
Documentation
#[macro_export]
macro_rules! ensure_services_available {
    ($container:expr, $type_name:ty) => {
        _ = $container.get::<$type_name>();
    };
    ($container:expr, $type_name:ty, $($type_names:ty),+) => {
        ensure_services_available!($container, $type_name);
        ensure_services_available!($container, $($type_names),+);
    };
}

#[cfg(test)]
mod tests {
    use crate::Container;

    #[derive(Clone)]
    struct A;

    #[derive(Clone)]
    struct B;

    #[test]
    fn ensure() {
        let c = Container::new();
        c.register_constructor(|_| A);
        c.register_constructor(|_| B);

        ensure_services_available!(c, A, B);
    }
}