findConcreteTypes will spit out type constructors.
findConcreteTypes will spit out type constructors. This will turn them into types.
The ADT base trait.
The subclass.
Constraints: - Type must be sealed.
Constraints: - Type must be sealed. - Type must be abstract or a trait.
Sometimes using a type directly in a clause like "case _: $t => ...", causes spurious exhaustiveness warnings.
Sometimes using a type directly in a clause like "case _: $t => ...", causes spurious exhaustiveness warnings. I definitively know why, problably something about compiler-phase order. This fixes it consistently so far.
Create code for a function that will call .apply() on a given type's type companion object.