injectable-rs 0.1.0

A compile-time dependency injection framework for Rust using extractor-based DI
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! Compile-fail test: missing dependency.
//!
//! A type declares a dependency on another type that is not
//! registered in the container. This should be caught at compile time.

use injectable_rs::{container, injectable};

#[injectable]
#[derive(Default)]
pub struct UserService;

// Database is NOT registered in the container

container! {
    UserService { deps: [Database], scope: "singleton" },
}

fn main() {}