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: https://github.com/scala/bug/issues/7666
- Annotations
- @deprecated
- Deprecated
(Since version 1.34) Use MacroInstances instead
- Alphabetic
- By Inheritance
- MacroGenerated
- AnyVal
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new MacroGenerated(forCompanion: (C) ⇒ T)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
##(): Int
- Definition Classes
- Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- val forCompanion: (C) ⇒ T
-
def
getClass(): Class[_ <: AnyVal]
- Definition Classes
- AnyVal → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
toString(): String
- Definition Classes
- Any