Как извлечь суженный шрифт и использовать его в побочном продукте Shapeless? - PullRequest
1 голос
/ 22 февраля 2020

Имея этот код:

object Types {
  val undefined = "undefined".narrow
  type RunnableArgument = BigDecimal :+: String :+: Boolean :+: CNil
}

Я бы хотел иметь тип константы undefined в качестве одного из элементов RunnableArgument hlist. Это вообще возможно?

1 Ответ

2 голосов
/ 22 февраля 2020

Singleton-типы, используемые в качестве значений HList в scala 2.13, проверьте исходный SIP:

https://docs.scala-lang.org/sips/42.type.html

Итак, в вашем случае вы можете написать :

RunnableArgument = "undefined" :+: String :+: Boolean :+: CNil

Также вы можете использовать эту вещь как тип:

type Param = "singleton type"

Это компилируется в scast ie:

https://scastie.scala-lang.org/ObzN7xkKQ9egGBIv2gDuiA

...