docs.rs failed to build imacro-0.4.7
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: imacro-0.4.8

Rioc Derive Macros

This crate provides derive macros for the Rioc dependency injection framework.

Provider Macro

The #[derive(Provider)] macro generates implementation code for dependency injection.

Basic Usage

use rioc::{Provider, Container};

// Define a dependency
struct MyDependency;

// Define a service that depends on MyDependency
#[derive(Provider)]
struct MyService {
    #[inject(name = "my_dependency")]
    dependency: MyDependency,
}

fn main() {
    // Create a container
    let mut container = Container::new();
    
    // Register the dependency
    container.register("my_dependency", MyDependency);
    
    // Resolve the service with dependencies injected
    let service: MyService = container.resolve();
    
    // Now you can use the service
    println!("Service created successfully!");
}

Generic Types

use rioc::Provider;

#[derive(Provider)]
struct GenericService<T> {
    dependency: T,
}

Installation

Add to your Cargo.toml:

[dependencies]
rioc-derives = { path = "../derives" }