content: [package]
  # Remember update dependencies in:
  # dilib-derive, dilib-macros, README.md and dilib/README.md
  
  name = "dilib"
  description = "A dependency injection library for Rust"
  keywords = ["rust-patterns"]
  version = "0.2.1"
  authors = ["Freddy L."]
  edition = "2021"
  license-file = "LICENSE"
  repository = "https://github.com/Neo-Ciber94/dilib-rs/"
  homepage = "https://crates.io/crates/dilib/"
  documentation = "https://docs.rs/dilib/"
  build = "build.rs"
  rust-version = "1.59.0"
  exclude = ["benches"]
  
  [package.metadata.docs.rs]
  all-features = true
  rustdoc-args = ["--cfg", "doc_cfg"]
  
  [features]
  # Nothing by default
  default = []
  
  # All features
  full = ["derive", "global", "lazy", "unstable_provide"]
  
  # Enables #[derive(Inject)] proc macro
  derive = ["dilib-derive"]
  
  # Enables global `Container`
  global = []
  
  # Enables lazy singletons
  lazy = ["once_cell"]
  
  # Enables #[provide(...)] proc macro for global `Container`.
  # This feature is considered unstable because `Rust` does not guarantee
  # that code will always be allowed to executed before `main`
  # until global constructor get implemented, if ever happen.
  unstable_provide = ["dilib-macros", "global", "ctor", "lazy"]
  
  [dependencies]
  dilib-derive = { path = "../dilib-derive", version="0.2.0", optional = true }
  dilib-macros = { path = "../dilib-macros", version="0.2.1", optional = true }
  ctor = { version ="0.1.22", optional = true }
  once_cell = { version = "1.10.0", optional = true }
  
  [dev-dependencies]
  dilib-derive = { path="../dilib-derive", version="0.2.0" }
  dilib = { path = ".", version="0.2.0", features=["full", "unstable_provide"]}
  criterion = "0.3"
  
  [lib]
  bench = false
  
  [[bench]]
  name = "bench_main"
  path = "benches/bench_main.rs"
  harness = false
  