object
Record extends Dynamic
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
macro
def
applyDynamic(method: String)(rec: Any*): HList
-
macro
def
applyDynamicNamed(method: String)(rec: Any*): HList
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
-
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
macro
def
selectDynamic(tpeSelector: String): Any
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
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,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,