Sto giocando con gli attori distribuiti di scala. Molto bella.Pattern che combina le funzioni zero-argument in scala: mistificato tramite avviso
Ho un server che esegue oggetti funzione in entrata. Ad esempio, il cliente ha
object Tasks {
def foo = {Console.println("I am Foo")};
def bar = {Console.println("I am Bar");}
}
// In client actor...
...
server ! Tasks.foo _
...
E il server può prenderli ed eseguirli con il codice di attore come
react {
case task:(()=>Unit) =>
task()
Tutto questo funziona bene (che è davvero molto molto cool), ma io' sto mistificato da un messaggio di avviso di uscita dalla scalac
per il codice del server:
warning: non variable type-argument Unit in type pattern is unchecked since it is eliminated by erasure
case task:(()=>Unit) =>
^
Come posso pulire questo avvertimento in su?
(sono abbastanza chiare sulla differenza tra il tipo Unit
, e il tipo di funzioni zero argomento ()=>Unit
. Sto solo cercando di abbinare task:Unit
nel react
è libero di avvertimento-, ma in realtà non corrisponde ai compiti in arrivo .)
Uso di Scala 2.7.5 su Debian, con Sun's Java6.