Note that there are some explanatory texts on larger screens.

plurals
  1. POScala actors exception "react on channel belonging to other actor"
    text
    copied!<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>
 

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