Note that there are some explanatory texts on larger screens.

plurals
  1. POScala actors exception "react on channel belonging to other actor"
    primarykey
    data
    text
    <p>Given the following code:</p> <pre><code>class A extends Actor { def act() { loop { reactWithin(1000) { case _ =&gt; println("A Message") } } } } </code></pre> <p>and</p> <pre><code>class B extends A { val test = Actor.actor { loop { reactWithin(1000) { case "B" =&gt; println("B Message") } } } } </code></pre> <p>Creating an instance of B <code>val t = new B()</code> throws the following exception:</p> <pre><code>scala.actors.Actor$$anon$1@452bb7e0: caught java.lang.AssertionError: assertion failed: react on channel belonging to other actor java.lang.AssertionError: assertion failed: react on channel belonging to other actor at scala.actors.ReplyReactor$class.reactWithin(ReplyReactor.scala:123) at A.scala$actors$Actor$$super$reactWithin(Tester.scala:11) at scala.actors.Actor$class.reactWithin(Actor.scala:613) at A.reactWithin(Tester.scala:11) at B$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(Tester.scala:24) at B$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(Tester.scala:24) at scala.actors.Reactor$class.seq(Reactor.scala:280) at A.seq(Tester.scala:11) at scala.actors.Reactor$$anon$3.andThen(Reactor.scala:258) at scala.actors.Combinators$class.loop(Combinators.scala:26) at A.loop(Tester.scala:11) at B$$anonfun$1.apply$mcV$sp(Tester.scala:23) at scala.actors.Actor$$anon$1.act(Actor.scala:135) at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222) at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222) at scala.actors.ReactorTask.run(ReactorTask.scala:36) at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611) at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422) at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325) </code></pre> <p>Could somebody please enlighten me why that is? :)</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload