Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- trait Holders
- case class MapHolder[A, B](f: A => B) extends Holders
- trait Worker
- case class MapWrk[A, B](f: A => B) extends Worker
- object MyTypeErasureProblem extends App {
- val myFunc = MapHolder((x: Int) => x + 10)
- def buildWorker(hh: Holders) =
- hh match {
- case MapHolder(f) => MapWrk(f)
- }
- println(buildWorker(myFunc).f(10))
- }
- Error:(22, 35) type mismatch;
- found : Nothing => Any
- required: A => Any
- case MapHolder(f) => MapWrk(f)
- ^
- Error:(26, 33) type mismatch;
- found : Int(10)
- required: Nothing
- println(buildWorker(myFunc).f(10))
- ^
- def buildWorker[A,B](hh: MapHolder[A,B]) = ...
- case class ReduceHolder[V](f: (V,V) => V) extends Holders
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement