final class MacroGenerated[C, T] extends AnyVal

Wrapper class for macro-generated typeclasses. Usually, a typeclass is wrapped in MacroGenerated when it's accepted as implicit super constructor parameter of some base class for companion objects of types for which the typeclass is being generated. Example: HasGenCodec, which is a base class for companion objects of classes that want GenCodec to be macro-generated for them.

Instead of materializing the type class instance directly, a function from some base companion type C is materialized. To obtain the actual typeclass instance, companion object must be passed as this function's argument. This serves two purposes:

- contents of C will be wildcard-imported into macro-materialization, allowing injection of additional implicits - working around too strict Scala validation of super constructor arguments:

Linear Supertypes
  1. Alphabetic
  2. By Inheritance
  1. MacroGenerated
  2. AnyVal
  3. Any
  1. Hide All
  2. Show All
  1. Public
  2. All

Instance Constructors

  1. new MacroGenerated(forCompanion: (C) ⇒ T)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
  2. final def ##(): Int
    Definition Classes
  3. final def ==(arg0: Any): Boolean
    Definition Classes
  4. final def asInstanceOf[T0]: T0
    Definition Classes
  5. val forCompanion: (C) ⇒ T
  6. def getClass(): Class[_ <: AnyVal]
    Definition Classes
    AnyVal → Any
  7. final def isInstanceOf[T0]: Boolean
    Definition Classes
  8. def toString(): String
    Definition Classes

Inherited from AnyVal

Inherited from Any