Вот код с участием Akka:неизменяемой аргумент типа akka.actor.ActorRef
def receive = {
case idList: List[ActorRef] => idList.foreach(x => x ! Msg)
}
Sbt жалуется, что:
non-variable type argument akka.actor.ActorRef in type pattern List[akka.actor.ActorRef] is unchecked since it is eliminated by erasure
[warn] case idList: List[ActorRef] => idList.foreach(x => x ! Msg)
Как избавиться от этого?
Первый выбор не будет компилироваться, не так ли? –
@MariusKavansky, я сомневаюсь, что первое решение будет скомпилировано, потому что вы больше не сможете этого сделать: 'idList.foreach (x => x! Msg)', потому что он больше не будет знать, что 'x' является' ActorRef'. Тем более, что нужно пойти с решением 2. – cmbaxter
Часть, которую я написал, обязательно скомпилирует;), но часть, которую я оставил, не будет, если вы не сделаете актерский состав в ActorRef'. Мне жаль, что я не дал понять (не успел пояснить). Это должно быть очевидно, однако, что типы приведения существуют специально для того, чтобы сообщить системе типов, что вы не заботитесь о правильности;) – agilesteel