izumi.distage.constructors.AnyConstructor
See theAnyConstructor companion object
An implicitly summonable constructor for a type T
, can generate constructors for:
- concrete classes (using ClassConstructor)
- traits and abstract classes (Auto-Traits feature, using TraitConstructor)
Since version 1.1.0
, does not generate constructors "factory-like" traits and abstract classes, instead use FactoryConstructor.
Use HasConstructor to generate constructors for zio.Has
values.
Attributes
- Returns:
- Example:
import distage.{AnyConstructor, Functoid, Injector, ModuleDef} class A(val i: Int) val constructor: Functoid[A] = AnyConstructor[A] val lifecycle = Injector().produceGet[A](new ModuleDef { make[A].from(constructor) make[Int].fromValue(5) }) lifecycle.use { (a: A) => println(a.i) }
- Companion:
- object
- Graph
- Supertypes
- class Any
- Known subtypes
- class ClassConstructor[T]class FactoryConstructor[T]class HasConstructor[T]class TraitConstructor[T]