Packages

object Record extends Dynamic

Records encoded as HLists of their value types intersected with the singleton types of their keys.

Record types may be written using a relatively concise syntax thanks to a trick due to Denys Shabalin (@den_sh) and Eugene Burmako (@xeno_by). We use a combination of selectDynamic and backticks to embed a type in a path which appears to the compiler as stable,

type Xyz = Record.`'x -> Int, 'y -> String, 'z -> Boolean`.T

The use of singleton-typed Symbols as keys would make this type extremely laborious to write out by hand.

There is also a mechanism for creating values of record types using Scala's named argument syntax. Values of the type just defined can be created as follows,

val xyz = Record(x = 23, y = "foo", z = true)
xyz('y) // == "foo"
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Record
  2. Dynamic
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. macro def applyDynamic(method: String)(rec: Any*): HList
  5. macro def applyDynamicNamed(method: String)(rec: Any*): HList
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. macro def selectDynamic(tpeSelector: String): Any
  18. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Dynamic

Inherited from AnyRef

Inherited from Any

Ungrouped