injectables 0.1.0

A procedural macro library that enables field injection between Rust structs through #[injectable] and #[inject_fields] attributes. The library handles visibility rules, generic type resolution, and detects circular dependencies during compile time to ensure safe composition. This enables a declarative approach to struct composition where fields from one or more source structs can be automatically injected into target structs while respecting Rust's ownership and visibility rules.
Documentation
use injectables::{inject_fields, injectable};

#[injectable]
pub struct Base {
  pub id:u64,
}

#[inject_fields(Base)]
pub struct Document {
  pub title:String,
}

fn main() {
  let doc = Document {
    title:"Test".to_string(),
    id:   1,
  };
  assert_eq!(doc.id, 1);
  assert_eq!(doc.title, "Test");
}