scala - non-variable type argument akka.actor.ActorRef -
here code involving akka:
def receive = { case idlist: list[actorref] => idlist.foreach(x => x ! msg) }
sbt complains that:
non-variable type argument akka.actor.actorref in type pattern list[akka.actor.actorref] unchecked since eliminated erasure [warn] case idlist: list[actorref] => idlist.foreach(x => x ! msg)
how rid of this?
at runtime list[whatever]
equivalent list[any]
, actor can figure out received list not it's list of actorref
s. jvm thing , not scala's or akka's fault.
you have 2 choices:
1) ignore replacing actorref
_
case idlist: list[_] => ...
2) wrap datastructure (recommended)
case class ids(idlist: list[actorref])
the second choice let's check against ids without having check parametric type of list.
def receive = { case ids(idlist) => idlist.foreach(x => x ! msg) }
Comments
Post a Comment