use elif_http_derive::inject;
use std::sync::Arc;
struct MockUserService;
struct MockEmailService;
#[inject(user_service: MockUserService, email_service: MockEmailService)]
pub struct BasicController;
#[inject(user_service: MockUserService = "primary_user_service")]
pub struct NamedServiceController;
struct MockCacheService;
#[inject(cache_service: Option<MockCacheService>)]
pub struct OptionalServiceController;
#[inject(user_service: MockUserService, email_service: MockEmailService, cache_service: MockCacheService)]
pub struct MultiServiceController;
fn main() {
println!("inject macro compilation test passed");
}