shapeless
Evidence that type T has annotation A, and provides an instance of the annotation.
T
A
If type T has an annotation of type A, then an implicit Annotation[A, T] can be found, and its apply method provides an instance of the annotation.
Annotation[A, T]
apply
Example:
case class First(i: Int) @First(3) trait Something val somethingFirst = Annotation[First, Something].apply() assert(somethingFirst == First(3))
Evidence that type
T
has annotationA
, and provides an instance of the annotation.If type
T
has an annotation of typeA
, then an implicitAnnotation[A, T]
can be found, and itsapply
method provides an instance of the annotation.Example: