shapeless

package shapeless

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. shapeless
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait :+:[+H, +T <: Coproduct] extends Coproduct

  2. final case class ::[+H, +T <: HList](head: H, tail: T) extends HList with Product with Serializable

    Non-empty HList element type.

  3. trait <:!<[A, B] extends AnyRef

  4. trait =:!=[A, B] extends AnyRef

  5. trait AdditiveCollection[Repr] extends AnyRef

    Evidence that Repr instances can be nested in a Sized.

    Evidence that Repr instances can be nested in a Sized.

    Should assert that a Builder[_, Repr] given n elements will result in a Repr of length n.

  6. class ApplyEverything[F <: Poly] extends AnyRef

  7. trait ApplyUnapplyFacet extends ProductISOFacet

  8. trait BasisConstraint[L <: HList, M <: HList] extends AnyRef

    Type class witnessing that every element of L is an element of M.

  9. sealed trait CNil extends Coproduct

  10. trait CaseClassFacet extends AnyRef

  11. trait CaseClassMacros extends ReprTypes

  12. trait CaseInst extends AnyRef

  13. trait Cases extends AnyRef

  14. type Const[C] = AnyRef { type λ[T] = C }

  15. sealed trait Coproduct extends AnyRef

  16. trait CopyFacet extends CaseClassFacet

  17. trait Coselect[T] extends AnyRef

  18. trait Data[F, T, R] extends AnyRef

    Type class representing one-level generic queries.

  19. trait Data0 extends AnyRef

  20. trait Data1 extends Data0

  21. trait DataT[F, T] extends AnyRef

    Type class representing one-level generic transformations.

  22. trait DataT0 extends AnyRef

  23. trait DataT1 extends DataT0

  24. trait DefaultCaseClassDefns extends ApplyUnapplyFacet with ProductFacet with PolymorphicEqualityFacet with CopyFacet with ToStringFacet

  25. trait DefaultSymbolicLabelling[T] extends DepFn0

  26. trait DepFn0 extends AnyRef

    Dependent nullary function type.

  27. trait DepFn1[T] extends AnyRef

    Dependent unary function type.

  28. trait DepFn2[T, U] extends AnyRef

    Dependent binary function type.

  29. trait DerivationContext extends CaseClassMacros

  30. type Everything[F <: Poly, K <: Poly, T] = Case[EverythingAux[F, K], ::[T, HNil]]

    The SYB everything combinator

  31. class EverythingAux[F, K] extends Poly

  32. type Everywhere[F <: Poly, T] = Case[EverywhereAux[F], ::[T, HNil]]

    The SYB everywhere combinator

  33. class EverywhereAux[F] extends Poly

  34. trait FieldOf[V] extends AnyRef

    Field with values of type V.

    Field with values of type V.

    Record keys of this form should be objects which extend this trait. Keys may also be arbitrary singleton typed values, however keys of this form enforce the type of their values.

  35. trait FieldPoly extends Poly1

    Polymorphic function that allows modifications on record fields while preserving the original key types.

  36. trait Fin[N <: Succ[_]] extends AnyRef

    Base trait for type level finite numbers, i.e.

    Base trait for type level finite numbers, i.e. numbers less than some bound N

  37. case class FinSucc[N <: Succ[_], P <: Fin[N]]() extends Fin[Succ[N]] with Product with Serializable

    Encoding of successor.

  38. case class FinZero[N <: Succ[_]]() extends Fin[N] with Product with Serializable

    Encoding of zero.

  39. trait Generic[T] extends AnyRef

  40. class GenericMacros extends CaseClassMacros

  41. sealed trait HList extends AnyRef

    HList ADT base trait.

  42. class HMap[R[_, _]] extends Poly1

    Heterogenous map with type-level key/value associations that are fixed by an arbitrary relation R.

    Heterogenous map with type-level key/value associations that are fixed by an arbitrary relation R.

    HMaps extend Poly and hence are also polymorphic function values with type-specific cases corresponding to the map's type-level key/value associations.

  43. class HMapBuilder[R[_, _]] extends AnyRef

  44. sealed trait HNil extends HList

    Empty HList element type.

  45. trait HasCoproductGeneric[T] extends AnyRef

  46. trait HasProductGeneric[T] extends AnyRef

  47. type Id[+T] = T

  48. trait InferProduct[C <: Coproduct, K] extends AnyRef

  49. final case class Inl[+H, +T <: Coproduct](head: H) extends :+:[H, T] with Product with Serializable

  50. final case class Inr[+H, +T <: Coproduct](tail: T) extends :+:[H, T] with Product with Serializable

  51. trait IsTuple[T] extends AnyRef

  52. trait KeyConstraint[L <: HList, M <: HList] extends AnyRef

    Type class witnessing that every element of L is of the form FieldType[K, V] where K is an element of M.

  53. trait LUBConstraint[L <: HList, B] extends AnyRef

    Type class witnessing that every element of L is a subtype of B.

  54. trait LabelledGeneric[T] extends Generic[T]

  55. class LabelledMacros extends SingletonTypeUtils with CaseClassMacros

  56. trait LabelledProductTypeClass[C[_]] extends AnyRef

    A type class abstracting over the product operation of type classes over types of kind *, as well as deriving instances using an isomorphism.

    A type class abstracting over the product operation of type classes over types of kind *, as well as deriving instances using an isomorphism. Refines ProductTypeClass with the addition of runtime String labels corresponding to the names of the product elements.

  57. trait LabelledProductTypeClassCompanion[C[_]] extends AnyRef

  58. trait LabelledTypeClass[C[_]] extends LabelledProductTypeClass[C]

    A type class additionally abstracting over the coproduct operation of type classes over types of kind *.

    A type class additionally abstracting over the coproduct operation of type classes over types of kind *.

    Name hints can be safely ignored.

  59. trait LabelledTypeClassCompanion[C[_]] extends LabelledProductTypeClassCompanion[C]

  60. trait Lazy[+T] extends AnyRef

  61. class LazyMacros extends AnyRef

  62. trait Lens[S, A] extends Dynamic

  63. trait LowPriorityMkPathOptic extends AnyRef

  64. trait LowPriorityMkSelectDynamicOptic extends AnyRef

  65. trait LowPrioritySegment extends AnyRef

  66. trait LowPrioritySized extends AnyRef

  67. trait LowPriorityTypeable extends AnyRef

  68. trait LowPriorityWitnessWith extends AnyRef

  69. trait Lub[-A, -B, Out] extends AnyRef

    Type class witnessing the least upper bound of a pair of types and providing conversions from each to their common supertype.

  70. trait MkCoproductSelectPrism[C <: Coproduct, T] extends AnyRef

  71. trait MkCtorPrism[A, B] extends AnyRef

  72. trait MkFieldLens[A, K] extends AnyRef

  73. trait MkGenericLens[T] extends AnyRef

  74. trait MkHListNthLens[L <: HList, N <: Nat] extends AnyRef

  75. trait MkHListSelectLens[L <: HList, U] extends AnyRef

  76. trait MkLabelledGenericLens[T] extends AnyRef

  77. trait MkNthFieldLens[A, N <: Nat] extends AnyRef

  78. trait MkPathOptic[S, P <: HList] extends AnyRef

  79. trait MkRecordSelectLens[R <: HList, K] extends AnyRef

  80. trait MkSelectDynamicOptic[R, A, K, B] extends AnyRef

  81. trait Nat extends AnyRef

    Base trait for type level natural numbers.

  82. trait Nats extends AnyRef

  83. trait OpticComposer[L, R] extends AnyRef

  84. trait Path[T <: HList] extends Dynamic

  85. trait Poly extends PolyApply

    Base trait for polymorphic values.

  86. trait Poly0 extends Poly

    Trait simplifying the creation of polymorphic values.

  87. trait Poly1 extends Poly

  88. trait Poly10 extends Poly

  89. trait Poly11 extends Poly

  90. trait Poly12 extends Poly

  91. trait Poly13 extends Poly

  92. trait Poly14 extends Poly

  93. trait Poly15 extends Poly

  94. trait Poly16 extends Poly

  95. trait Poly17 extends Poly

  96. trait Poly18 extends Poly

  97. trait Poly19 extends Poly

  98. trait Poly2 extends Poly

  99. trait Poly20 extends Poly

  100. trait Poly21 extends Poly

  101. trait Poly22 extends Poly

  102. trait Poly3 extends Poly

  103. trait Poly4 extends Poly

  104. trait Poly5 extends Poly

  105. trait Poly6 extends Poly

  106. trait Poly7 extends Poly

  107. trait Poly8 extends Poly

  108. trait Poly9 extends Poly

  109. trait PolyApply extends AnyRef

  110. trait PolyInst extends AnyRef

  111. class PolyMacros extends AnyRef

  112. trait PolymorphicEqualityFacet extends ProductISOFacet

  113. trait Prism[S, A] extends Dynamic

  114. trait ProductFacet extends ProductISOFacet

  115. trait ProductISOFacet extends CaseClassFacet

  116. trait ProductLensBuilder[C, P <: Product] extends Lens[C, P]

  117. trait ProductPrismBuilder[C, P <: Product] extends Prism[C, P]

  118. trait ProductTypeClass[C[_]] extends AnyRef

    A type class abstracting over the product operation of type classes over types of kind *, as well as deriving instances using an isomorphism.

  119. trait ProductTypeClassCompanion[C[_]] extends AnyRef

  120. trait RecordArgs extends Dynamic

    Trait supporting mapping named argument lists to record arguments.

    Trait supporting mapping named argument lists to record arguments.

    Mixing in this trait enables method applications of the form,

    lhs.method(x = 23, y = "foo", z = true)

    to be rewritten as,

    lhs.methodImpl('x ->> 23 :: 'y ->> "foo", 'z ->> true)

    ie. the named arguments are rewritten as record fields with the argument name encoded as a singleton-typed Symbol and the application is rewritten to an application of an implementing method (identified by the "Impl" suffix) which accepts a single record argument.

  121. class RecordMacros extends AnyRef

  122. trait ReprTypes extends AnyRef

  123. trait Segment[P, S, T <: HList] extends AnyRef

  124. trait Select[T] extends AnyRef

  125. class SingletonTypeMacros extends SingletonTypeUtils

  126. trait SingletonTypeUtils extends ReprTypes

  127. final class Sized[+Repr, L <: Nat] extends AnyVal

    Wrapper for a collection type witnessing that it has the statically specified length.

    Wrapper for a collection type witnessing that it has the statically specified length. Can be applied to any type which can be viewed as a GenTraversableLike, ie. standard collections, Arrays, Strings etc.

  128. class SizedBuilder[CC[_]] extends AnyRef

  129. class SizedOps[A0, Repr, L <: Nat] extends AnyRef

    Carrier for Sized operations.

    Carrier for Sized operations.

    These operations are implemented here as extension methods of the minimal Sized type to avoid issues that would otherwise be caused by its covariance.

  130. case class Succ[P <: Nat]() extends Nat with Product with Serializable

    Encoding of successor.

  131. trait ToStringFacet extends ProductFacet

  132. trait TupleTypeableInstances extends AnyRef

  133. trait TypeCase[T] extends AnyRef

    Extractor for use of Typeable in pattern matching.

    Extractor for use of Typeable in pattern matching.

    Thanks to Stacy Curl for the idea.

  134. trait TypeClass[C[_]] extends ProductTypeClass[C]

    A type class additionally abstracting over the coproduct operation of type classes over types of kind *.

  135. trait TypeClassCompanion[C[_]] extends ProductTypeClassCompanion[C]

  136. trait Typeable[T] extends AnyRef

    Type class supporting type safe cast.

  137. class TypeableMacros extends SingletonTypeUtils

  138. trait UnaryTCConstraint[L <: HList, TC[_]] extends AnyRef

    Type class witnessing that every element of L has TC as its outer type constructor.

  139. class UnionMacros extends AnyRef

  140. trait Unpack1[-PP, FF[_], A] extends AnyRef

    Type class witnessing that type PP is equal to FF[A] for some higher kinded type FF[_] and type(s) A.

  141. trait Unpack10[-PP, FF[_, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J.

  142. trait Unpack11[-PP, FF[_, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K.

  143. trait Unpack12[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L.

  144. trait Unpack13[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M.

  145. trait Unpack14[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N.

  146. trait Unpack15[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O.

  147. trait Unpack16[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P.

  148. trait Unpack17[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q.

  149. trait Unpack18[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R.

  150. trait Unpack19[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S.

  151. trait Unpack2[-PP, FF[_, _], A, B] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B] for some higher kinded type FF[_, _] and type(s) A, B.

  152. trait Unpack20[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T.

  153. trait Unpack21[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U.

  154. trait Unpack22[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V.

  155. trait Unpack3[-PP, FF[_, _, _], A, B, C] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C] for some higher kinded type FF[_, _, _] and type(s) A, B, C.

  156. trait Unpack4[-PP, FF[_, _, _, _], A, B, C, D] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D] for some higher kinded type FF[_, _, _, _] and type(s) A, B, C, D.

  157. trait Unpack5[-PP, FF[_, _, _, _, _], A, B, C, D, E] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E] for some higher kinded type FF[_, _, _, _, _] and type(s) A, B, C, D, E.

  158. trait Unpack6[-PP, FF[_, _, _, _, _, _], A, B, C, D, E, F] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F] for some higher kinded type FF[_, _, _, _, _, _] and type(s) A, B, C, D, E, F.

  159. trait Unpack7[-PP, FF[_, _, _, _, _, _, _], A, B, C, D, E, F, G] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G] for some higher kinded type FF[_, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G.

  160. trait Unpack8[-PP, FF[_, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H] for some higher kinded type FF[_, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H.

  161. trait Unpack9[-PP, FF[_, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I] extends AnyRef

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I] for some higher kinded type FF[_, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I.

  162. trait ValueConstraint[L <: HList, M <: HList] extends AnyRef

    Type class witnessing that every element of L is of the form FieldType[K, V] where V is an element of M.

  163. trait Witness extends AnyRef

  164. trait WitnessWith[TC[_]] extends Witness

  165. case class Zipper[C, L <: HList, R <: HList, P](prefix: L, suffix: R, parent: P) extends Product with Serializable

    Generic Zipper for any type with a representation via Generic.

  166. class _0 extends Nat

    Encoding of zero.

  167. class nonGeneric extends Annotation with StaticAnnotation

  168. type |¬|[T] = AnyRef { type λ[U] = shapeless.package.<:!<[U,T] }

  169. type |∨|[T, U] = AnyRef { type λ[X] = <:<[shapeless.package.¬¬[X],shapeless.package.∨[T,U]] }

  170. class ~?>[K[_], V[_]] extends AnyRef

    Type class witnessing the existence of a natural transformation between K[_] and V[_].

    Type class witnessing the existence of a natural transformation between K[_] and V[_].

    Use this trait to represent an HMap relation of the form K[T] maps to V[T].

  171. type ¬[T] = (T) ⇒ Nothing

  172. type ¬¬[T] = (¬[T]) ⇒ Nothing

  173. type ∀[P[_]] = (∃[[X](P[X]) ⇒ Nothing]) ⇒ Nothing

  174. type ∃[P[_]] = P[_]

  175. type ∧[T, U] = T with U

  176. type ∨[T, U] = (∧[¬[T], ¬[U]]) ⇒ Nothing

Value Members

  1. object AdditiveCollection

  2. object BasisConstraint

  3. object BuildInfo extends Product with Serializable

  4. object Coproduct extends Dynamic

  5. object Data extends Data1

  6. object DataT extends DataT1

  7. object DefaultSymbolicLabelling

  8. object DerivationContext

  9. object EverythingAux

  10. object EverywhereAux

  11. object Fin

  12. object Generic

  13. object HList extends Dynamic

  14. object HMap

  15. object HNil extends HNil with Product with Serializable

    Empty HList value.

  16. object HasCoproductGeneric

  17. object HasProductGeneric

  18. object InferProduct

  19. object IsTuple

  20. object KeyConstraint

  21. object LUBConstraint

  22. object LabelledGeneric

  23. object Lazy

  24. object LazyMacros

  25. object Lub

  26. object MkCoproductSelectPrism

  27. object MkCtorPrism

  28. object MkFieldLens

  29. object MkGenericLens

  30. object MkHListNthLens

  31. object MkHListSelectLens

  32. object MkLabelledGenericLens

  33. object MkNthFieldLens

  34. object MkPathOptic extends LowPriorityMkPathOptic

  35. object MkRecordSelectLens

  36. object MkSelectDynamicOptic extends LowPriorityMkSelectDynamicOptic

  37. object Nat extends Nats

    Type level encoding of the natural numbers.

  38. object NatMacros

  39. object OpticComposer

  40. object OpticDefns

  41. object Path extends Path[HNil]

  42. object Poly extends PolyInst

    Provides implicit conversions from polymorphic function values to monomorphic function values, eg.

    Provides implicit conversions from polymorphic function values to monomorphic function values, eg. for use as arguments to ordinary higher order functions.

  43. object PolyDefns extends Cases

  44. object Segment extends LowPrioritySegment

  45. object Sized extends LowPrioritySized

  46. object TheMacros

  47. object Tuple

  48. object TypeCase

  49. object Typeable extends TupleTypeableInstances with LowPriorityTypeable

    Provides instances of Typeable.

    Provides instances of Typeable. Also provides an implicit conversion which enhances arbitrary values with a cast[T] method.

  50. object UnaryTCConstraint

  51. object Unpack1

  52. object Unpack10

  53. object Unpack11

  54. object Unpack12

  55. object Unpack13

  56. object Unpack14

  57. object Unpack15

  58. object Unpack16

  59. object Unpack17

  60. object Unpack18

  61. object Unpack19

  62. object Unpack2

  63. object Unpack20

  64. object Unpack21

  65. object Unpack22

  66. object Unpack3

  67. object Unpack4

  68. object Unpack5

  69. object Unpack6

  70. object Unpack7

  71. object Unpack8

  72. object Unpack9

  73. object ValueConstraint

  74. object Witness extends Dynamic

  75. object WitnessWith extends LowPriorityWitnessWith

  76. object Zipper extends Serializable

  77. val ^: Path.type

  78. def everything(f: Poly): ApplyEverything[f.type]

  79. def everywhere(f: Poly): EverywhereAux[f.type]

  80. val fin: Fin.type

    'Fin'

  81. object labelled

  82. val lens: OpticDefns.type

  83. val nat: Nat.type

    Nat literals

  84. implicit def neq[A, B]: =:!=[A, B]

  85. implicit def neqAmbig1[A]: =:!=[A, A]

  86. implicit def neqAmbig2[A]: =:!=[A, A]

  87. object newtype

  88. implicit def nsub[A, B]: <:!<[A, B]

  89. implicit def nsubAmbig1[A, B >: A]: <:!<[A, B]

  90. implicit def nsubAmbig2[A, B >: A]: <:!<[A, B]

  91. package ops

  92. val optic: OpticDefns.type

    Optic definitions

  93. val poly: PolyDefns.type

    Poly definitions

  94. val prism: OpticDefns.type

  95. object productElements extends Poly1

    Higher ranked function which converts products to HLists.

  96. object record

    Record operations on HList's with field-like elements.

  97. package syntax

  98. object tag

  99. package test

  100. object the extends Dynamic

    An enhanced alternative to Predef.implicitly.

    An enhanced alternative to Predef.implicitly.

    Used as a term the[T] yields the unique implicit value of type T in the current implicit scope, if any. It is a compile time error if there is no such value. Its primary advantage over Predef.implicitly is that it will preserve any refinement that the implicit definition has, resulting in more precisely typed, and hence often more useful, values,

    scala> trait Foo { type T ; val t: T }
    defined trait Foo
    
    scala> implicit val intFoo: Foo { type T = Int } = new Foo { type T = Int ; val t = 23 }
    intFoo: Foo{type T = Int} = $anon$1@6067b682
    
    scala> implicitly[Foo].t  // implicitly loses precision
    res0: Foo#T = 23
    
    scala> implicitly[Foo].t+13
    <console>:13: error: type mismatch;
     found   : Int(13)
     required: String
                  implicitly[Foo].t+13
                                    ^
    
    scala> the[Foo].t         // the retains it
    res1: Int = 23
    
    scala> the[Foo].t+13
    res2: Int = 36

    Unlike implicitly, the can also be used in type position, thanks to a trick due to Denys Shabalin (@den_sh) and Eugene Burmako (@xeno_by). Here we use a combination of selectDynamic and backticks to embed a type in a path which appears to the compiler as stable,

    scala> val i: implicitly[Foo].T = 23  // syntax error
    <console>:1: error: ';' expected but '.' found.
           val i: implicitly[Foo].T = 23
                                 ^
    scala> val i: the.`Foo`.T = 23        // OK
    i: Int = 23
  101. object tupled extends Poly1

    Higher ranked function which converts HLists to tuples.

  102. def unexpected: Nothing

  103. object union

  104. object ~?>

Inherited from AnyRef

Inherited from Any

Ungrouped