на основе уже протегированного типа?
object Kek extends TaggedType[String]
type Kek = Kek.Type
object Shrek extends TaggedType[Kek]
type Shrek = Shrek.Type
А что мешает сделать второй тип вокруг базового типа первого?
то что я хочу чтобы Shrek коерсился в Kek
А сделать преобразование рядом не пойдёт?
``` object Time extends TaggedType[Long] type Time = Time.Type object Seconds extends OverTagged(Time) type Seconds = Seconds.Type object Minutes extends OverTagged(Time) type Minutes = Minutes.Type val seconds = Seconds @@ (Time @@ 5L) val minutes = Minutes @@ (Time @@ 5L) val time1:Time = seconds val time2:Time = minutes // val time3:Seconds = time1 // compile error // val time4:Minutes = time2 // compile error```
Обсуждают сегодня