Mirror

io.github.iltotore.iron.RefinedTypeOps.Mirror
trait Mirror[T]

Typelevel access to a "new type"'s informations. It is similar to scala.deriving.Mirror.

Type parameters

T

the new type (usually a type alias).

Attributes

Source
RefinedTypeOps.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Type members

Types

type BaseType

The base type of the mirrored type without any constraint.

The base type of the mirrored type without any constraint.

Attributes

Source
RefinedTypeOps.scala

The constraint of the mirrored type.

The constraint of the mirrored type.

Attributes

Source
RefinedTypeOps.scala
type FinalType = T

Alias for T. Also equivalent to IronType if the type alias of the mirrored new type is transparent.

Alias for T. Also equivalent to IronType if the type alias of the mirrored new type is transparent.

type Temperature = Double :| Positive
object Temperature extends RefinedTypeOps[Temperature]

//FinalType =:= IronType
opaque type Temperature = Double :| Positive
object Temperature extends RefinedTypeOps[Temperature]

//FinalType =/= IronType

Attributes

Source
RefinedTypeOps.scala

Alias for BaseType :| ConstraintType

Alias for BaseType :| ConstraintType

Attributes

Source
RefinedTypeOps.scala