At line 3 changed one line |
This is a list of reported problems in the pre-release version of OrcScala (to be released as Orc 2.0 later this year). Edit this page to add a problem report. |
This was a list of reported problems in the pre-release version of OrcScala. This list is no longer used. |
At line 5 changed 5 lines |
%%invisible |
---> To add a problem: |
---> Go to the invisible block below the other open problems |
---> Copy the template to above the invisible block |
%% |
%%warning Report problems at the [Orc Github project|https://github.com/orc-lang/orc/issues], not here. %% |
At line 13 changed one line |
!! 4: {{misra_philosopher.orc}} throwing {{~ArgumentTypeMismatchException}} |
!! CLOSED |
At line 11 added 39 lines |
---- |
|
!! %%strike 1: {{{random}}}'s values not comparing correctly%% (fixed) |
|
| __Reporter:__ | Bryan Marker |
| __Report date-time:__ | 2010-09-24 11:32 |
| __Orc version:__ | 2.0.0 rev. 2136 |
|
! Code: |
[{orc runnable='false' |
|
random(1) >v> println(v) >> (v = 0) |
}] |
|
! Actual output: |
{{{ |
false |
}}} |
|
! Reporter's comments: |
This does work: |
[{orc runnable='false' |
|
random(1) >w> random(1) >v> println(v) >> (v = w) |
}] |
Is there something with the types of {{v}} and {{0}} that cause this? |
|
! Orc team response |
|| Analysis |
| __Repeatable:__ | Yes |
| __Root Cause:__ | OrcScala bug. {{random(1)}} returns a {{java.lang.Integer}} which, when its {{equals}} is called with the {{scala.math.~BigInt}} literal {{0}}, fails to compare as equal. ~OrcJava had work-arounds in its {{orc.runtime.sites.core.Equal}} site for this. |
| __Proposed Fix:__ | Update {{orc.lib.builtin.Eq}} to replace use of {{equals}} with Scala's {{==}}, which handles boxing correctly. |
|| Implementation |
| __Fix Made:__ | __Rev:__ 2141 __Date:__ 28 Sep 2010 __By:__ jthywiss |
|
---- |
|
!! %%strike 2: Orc plug-in token colorer doesn't recognize nested comments %% (fixed) |
|
At line 51 added 69 lines |
| __Report date-time:__ | 2010-12-14 16:48 |
| __Orc version:__ | 2.0.0 rev. 2253 |
|
! Code: |
[{orc runnable='false' |
|
{-{-{-{-{-{--}-}-}-}-}-} |
}] |
|
! Actual output: |
Close braces are highlighted as erroneous characters. |
|
! Reporter's comments: |
The parser handles the comments correctly, so there is no error marker. Only the token coloring is wrong. |
|
! Orc team response |
|| Analysis |
| __Repeatable:__ | Yes |
| __Root Cause:__ | {{OrcEclipse src.edu.utexas.cs.orc.orceclipse.parse.~OrcLexer.getFirstTokenAt}} bug -- it stops scanning a multi-line comment at the first {{ -} }}. |
| __Proposed Fix:__ | {{getFirstTokenAt}}'s {{COMMENT_MULTILINE}} case needs to handle nested comments. |
|| Implementation |
| __Fix Made:__ | __Rev:__ 2307 __Date:__ 2010-12-28 10:26 __By:__ jthywiss |
|
---- |
|
!! 3: %%strike {{~CappedActorBasedScheduler}} tries to run halted token %% (fixed) |
|
| __Reporter:__ | John Thywissen |
| __Report date-time:__ | 2010-12-15 11:29 |
| __Orc version:__ | 2.0.0 rev. |
|
! Code: |
[{orc runnable='false' |
|
def f(num) = num + 1 |
f(1,2) |
}] |
|
! Actual output: |
{{{ |
OrcExamples/test_data/functional_invalid/Parser26.orc:11:1: orc.error.runtime.ArityMismatchException: Arity mismatch, expected 1 arguments, got 2 arguments. |
f(1,2) |
^ |
orc.run.extensions.CappedActorBasedScheduler$Worker@f27461b: caught java.lang.AssertionError: halted token scheduled |
java.lang.AssertionError: halted token scheduled |
at orc.run.Orc$Token.run(Orc.scala:504) |
at orc.run.extensions.CappedActorBasedScheduler$Worker.steal(CappedActorBasedScheduler.scala:103) |
at orc.run.extensions.CappedActorBasedScheduler$Worker$$anonfun$act$1$$anonfun$apply$1.apply(CappedActorBasedScheduler.scala:114) |
at orc.run.extensions.CappedActorBasedScheduler$Worker$$anonfun$act$1$$anonfun$apply$1.apply(CappedActorBasedScheduler.scala:111) |
at scala.actors.ReactorTask.run(ReactorTask.scala:34) |
... |
}}} |
|
! Reporter's comments: |
This is test case {{Parser26}}. |
|
! Orc team response |
|| Analysis |
| __Repeatable:__ | Yes |
| __Root Cause:__ | Arity mismatch on function call attempts the call even after halting the token |
| __Proposed Fix:__ | Add else branching |
|| Implementation |
| __Fix Made:__ | __Rev:__ 2302 __Date:__ 26 Dec 2010 __By:__ dkitchin |
|
---- |
|
!! %%strike 4: {{misra_philosopher.orc}} throwing {{~ArgumentTypeMismatchException}} %% |
|
| __Reporter:__ | John Thywissen |
At line 96 changed one line |
| __Fix Made:__ | __Rev:__ __Date:__ __By:__ |
| __Fix Made:__ | __Rev:__ 2640 __Date:__ 28 Mar 2011 __By:__ dkitchin |
At line 100 changed one line |
!! 5: {{randomized_byzantine.orc}} refers to an old {{Map}} site that no longer exists |
!! %%strike 5: {{randomized_byzantine.orc}} refers to an old {{Map}} site that no longer exists %% |
At line 128 changed one line |
| __Fix Made:__ | __Rev:__ __Date:__ __By:__ |
| __Fix Made:__ | __Rev:__ 2640 __Date:__ 28 Mar 2011 __By:__ dkitchin |
At line 132 changed one line |
!! 11: {{orc.run.extensions.~ManyActorBasedScheduler}} causes a {{~ClassCastException}} |
!! %%strike 6: {{Vtimer}} hangs %% (fixed) |
At line 135 changed 2 lines |
| __Report date-time:__ | 2011-01-22 19:17 |
| __Orc version:__ | 2.0.0 rev. 2382 |
| __Report date-time:__ | 2010-12-16 16:57 |
| __Orc version:__ | 2.0.0 rev. 2270 |
At line 139 changed one line |
While running the Orc7 test case. Appears to be a heisenbug. |
(Any code that calls {{Vtimer}}.) |
At line 143 changed 35 lines |
orc.run.extensions.ManyActorBasedScheduler$Worker@5176477b: caught java.lang.ClassCastException: java.lang.Thread cannot be cast to scala.concurrent.forkjoin.ForkJoinWorkerThread |
java.lang.ClassCastException: java.lang.Thread cannot be cast to scala.concurrent.forkjoin.ForkJoinWorkerThread |
at scala.concurrent.forkjoin.ForkJoinTask.fork(ForkJoinTask.java:481) |
at scala.actors.scheduler.ForkJoinScheduler.executeFromActor(ForkJoinScheduler.scala:121) |
at scala.actors.scheduler.DelegatingScheduler$class.executeFromActor(DelegatingScheduler.scala:42) |
at scala.actors.Scheduler$.executeFromActor(Scheduler.scala:21) |
at scala.actors.Actor$class.scheduleActor(Actor.scala:628) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.scheduleActor(ManyActorBasedScheduler.scala:77) |
at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:131) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.scala$actors$ReplyReactor$$super$resumeReceiver(ManyActorBasedScheduler.scala:77) |
at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.resumeReceiver(ManyActorBasedScheduler.scala:77) |
at scala.actors.Actor$class.searchMailbox(Actor.scala:478) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.searchMailbox(ManyActorBasedScheduler.scala:77) |
at scala.actors.Reactor$class.react(Reactor.scala:203) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.scala$actors$ReplyReactor$$super$react(ManyActorBasedScheduler.scala:77) |
at scala.actors.ReplyReactor$class.react(ReplyReactor.scala:109) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.scala$actors$Actor$$super$react(ManyActorBasedScheduler.scala:77) |
at scala.actors.Actor$class.react(Actor.scala:606) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.react(ManyActorBasedScheduler.scala:77) |
at orc.run.extensions.ManyActorBasedScheduler$Worker$$anonfun$act$1.apply(ManyActorBasedScheduler.scala:84) |
at orc.run.extensions.ManyActorBasedScheduler$Worker$$anonfun$act$1.apply(ManyActorBasedScheduler.scala:84) |
at scala.actors.Reactor$class.seq(Reactor.scala:280) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.seq(ManyActorBasedScheduler.scala:77) |
at scala.actors.Reactor$$anon$3.andThen(Reactor.scala:258) |
at scala.actors.Combinators$class.loop(Combinators.scala:26) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.loop(ManyActorBasedScheduler.scala:77) |
at scala.actors.Combinators$$anonfun$loop$1.apply(Combinators.scala:26) |
at scala.actors.Combinators$$anonfun$loop$1.apply(Combinators.scala:26) |
at scala.actors.Reactor$$anonfun$seq$1$$anonfun$apply$1.apply(Reactor.scala:277) |
at scala.actors.ReactorTask.run(ReactorTask.scala:34) |
at scala.actors.threadpool.ThreadPoolExecutor.runWorker(Unknown Source) |
at scala.actors.threadpool.ThreadPoolExecutor$Worker.run(Unknown Source) |
at java.lang.Thread.run(Thread.java:680) |
}}} |
../OrcExamples/beginning_Orc/auction.orc |
java.util.concurrent.TimeoutException |
At line 179 changed 2 lines |
! Reporter's comments: |
Apparently, this comes when one "uses the lightweight react when using the thread proxy actor". |
../OrcExamples/standard_problems/fib-vtimer.orc |
java.util.concurrent.TimeoutException |
At line 182 changed one line |
---- |
../OrcExamples/standard_problems/path.orc |
java.util.concurrent.TimeoutException |
At line 256 added 2 lines |
../OrcExamples/test_data/functional_valid/Orc24.orc |
java.util.concurrent.TimeoutException |
At line 259 added 2 lines |
../OrcExamples/test_data/functional_valid/Orc25.orc |
java.util.concurrent.TimeoutException |
At line 186 changed 4 lines |
%%invisible |
---> Copy the template below, except for the "% %" at the bottom |
---> Insert the copy ABOVE the "% % invisible" line (up 2 lines) |
---> Replace text in the form of <<blah>> with real values |
../OrcExamples/test_data/functional_valid/Orc26.orc |
java.util.concurrent.TimeoutException |
At line 191 changed one line |
!! <<Problem title which briefly and uniquely identifies a problem report>> |
../OrcExamples/test_data/functional_valid/readwrite.orc |
java.util.concurrent.TimeoutException |
At line 193 removed 13 lines |
| __Reporter:__ | <<Your Name>> |
| __Report date-time:__ | <<YYYY-MM-DD HH:MM>> |
| __Orc version:__ | <<In Eclipse, choose Run > Run Configurations > Orc program. Copy the version info. in the first line of "runtime engine version".>> |
|
! Code: |
[{orc runnable='false' |
|
<<Minimal complete example Orc code demonstrating problem.>> |
}] |
|
! Actual output: |
{{{ |
<<Cut-and-paste any relevant Orc message or output produced>> |
At line 209 changed one line |
<<Free-form notes by reporter>> |
Back on 23 Oct, we decided to refactor {{Vtimer}} to not make the engine depend on {{Vtimer}}. r2169 removed the {{Vtimer}} calls from the engine, but the {{Vtimer}} side of the changes was never completed. |
At line 211 removed 33 lines |
---- |
|
%% |
|
---- |
|
!! CLOSED |
|
---- |
|
!! %%strike 12: Type inference is failing on nested constructors. %% (fixed) |
|
| __Reporter:__ | David Kitchin |
| __Report date-time:__ | 2011-02-28 18:28 |
| __Orc version:__ | OrcScala r2459 |
|
! Code: |
[{orc runnable='false' |
|
[[],[]] :: List[List[Top]] |
|
}] |
|
! Actual output: |
{{{ |
A type argument is overconstrained; inference failed. Please add explicit type arguments. There may also be an underlying type error. [[OrcWiki:OverconstrainedTypeVariableException]] |
[[],[]] :: List[List[Top]] |
^ |
}}} |
|
! Reporter's comments: |
Constraint generation seems to behave strangely in the presence of nested constructors. The underlying constraint {{{List[Bot] <: List[List[Top]]}}} should succeed trivially, but instead it fails. This is the simplest example I have found which demonstrates the problem. In fact, the expression should have the even more precise type {{{List[List[Bot]]}}}, but I've currently left it as {{{Top}}} for simplicity. |
|
At line 247 changed 2 lines |
| __Root Cause:__ | |
| __Proposed Fix:__ | |
| __Root Cause:__ | {{Vtimer}} design changes from 23 Oct never carried through. |
| __Proposed Fix:__ | Delete {{Vwait}} until next release |
At line 250 changed one line |
| __Fix Made:__ | __Rev:__ 2634 __Date:__ 28 Mar 2011 __By:__ dkitchin |
| __Fix Made:__ | __Rev:__ 2631 __Date:__ 26 Mar 2011 __By:__ J^T |
At line 254 removed 104 lines |
!! %%strike 1: {{{random}}}'s values not comparing correctly%% (fixed) |
|
| __Reporter:__ | Bryan Marker |
| __Report date-time:__ | 2010-09-24 11:32 |
| __Orc version:__ | 2.0.0 rev. 2136 |
|
! Code: |
[{orc runnable='false' |
|
random(1) >v> println(v) >> (v = 0) |
}] |
|
! Actual output: |
{{{ |
false |
}}} |
|
! Reporter's comments: |
This does work: |
[{orc runnable='false' |
|
random(1) >w> random(1) >v> println(v) >> (v = w) |
}] |
Is there something with the types of {{v}} and {{0}} that cause this? |
|
! Orc team response |
|| Analysis |
| __Repeatable:__ | Yes |
| __Root Cause:__ | OrcScala bug. {{random(1)}} returns a {{java.lang.Integer}} which, when its {{equals}} is called with the {{scala.math.~BigInt}} literal {{0}}, fails to compare as equal. ~OrcJava had work-arounds in its {{orc.runtime.sites.core.Equal}} site for this. |
| __Proposed Fix:__ | Update {{orc.lib.builtin.Eq}} to replace use of {{equals}} with Scala's {{==}}, which handles boxing correctly. |
|| Implementation |
| __Fix Made:__ | __Rev:__ 2141 __Date:__ 28 Sep 2010 __By:__ jthywiss |
|
---- |
|
!! %%strike 2: Orc plug-in token colorer doesn't recognize nested comments %% (fixed) |
|
| __Reporter:__ | John Thywissen |
| __Report date-time:__ | 2010-12-14 16:48 |
| __Orc version:__ | 2.0.0 rev. 2253 |
|
! Code: |
[{orc runnable='false' |
|
{-{-{-{-{-{--}-}-}-}-}-} |
}] |
|
! Actual output: |
Close braces are highlighted as erroneous characters. |
|
! Reporter's comments: |
The parser handles the comments correctly, so there is no error marker. Only the token coloring is wrong. |
|
! Orc team response |
|| Analysis |
| __Repeatable:__ | Yes |
| __Root Cause:__ | {{OrcEclipse src.edu.utexas.cs.orc.orceclipse.parse.~OrcLexer.getFirstTokenAt}} bug -- it stops scanning a multi-line comment at the first {{ -} }}. |
| __Proposed Fix:__ | {{getFirstTokenAt}}'s {{COMMENT_MULTILINE}} case needs to handle nested comments. |
|| Implementation |
| __Fix Made:__ | __Rev:__ 2307 __Date:__ 2010-12-28 10:26 __By:__ jthywiss |
|
---- |
|
!! 3: %%strike {{~CappedActorBasedScheduler}} tries to run halted token %% (fixed) |
|
| __Reporter:__ | John Thywissen |
| __Report date-time:__ | 2010-12-15 11:29 |
| __Orc version:__ | 2.0.0 rev. |
|
! Code: |
[{orc runnable='false' |
|
def f(num) = num + 1 |
f(1,2) |
}] |
|
! Actual output: |
{{{ |
OrcExamples/test_data/functional_invalid/Parser26.orc:11:1: orc.error.runtime.ArityMismatchException: Arity mismatch, expected 1 arguments, got 2 arguments. |
f(1,2) |
^ |
orc.run.extensions.CappedActorBasedScheduler$Worker@f27461b: caught java.lang.AssertionError: halted token scheduled |
java.lang.AssertionError: halted token scheduled |
at orc.run.Orc$Token.run(Orc.scala:504) |
at orc.run.extensions.CappedActorBasedScheduler$Worker.steal(CappedActorBasedScheduler.scala:103) |
at orc.run.extensions.CappedActorBasedScheduler$Worker$$anonfun$act$1$$anonfun$apply$1.apply(CappedActorBasedScheduler.scala:114) |
at orc.run.extensions.CappedActorBasedScheduler$Worker$$anonfun$act$1$$anonfun$apply$1.apply(CappedActorBasedScheduler.scala:111) |
at scala.actors.ReactorTask.run(ReactorTask.scala:34) |
... |
}}} |
|
! Reporter's comments: |
This is test case {{Parser26}}. |
|
! Orc team response |
|| Analysis |
| __Repeatable:__ | Yes |
| __Root Cause:__ | Arity mismatch on function call attempts the call even after halting the token |
| __Proposed Fix:__ | Add else branching |
|| Implementation |
| __Fix Made:__ | __Rev:__ 2302 __Date:__ 26 Dec 2010 __By:__ dkitchin |
|
---- |
|
At line 500 changed one line |
!! %%strike 6: {{Vtimer}} hangs %% |
!! %%strike 11: {{orc.run.extensions.~ManyActorBasedScheduler}} causes a {{~ClassCastException}} %% (fixed) |
At line 503 changed 2 lines |
| __Report date-time:__ | 2010-12-16 16:57 |
| __Orc version:__ | 2.0.0 rev. 2270 |
| __Report date-time:__ | 2011-01-22 19:17 |
| __Orc version:__ | 2.0.0 rev. 2382 |
At line 507 changed one line |
(Any code that calls {{Vtimer}}.) |
While running the Orc7 test case. Appears to be a heisenbug. |
At line 511 changed 2 lines |
../OrcExamples/beginning_Orc/auction.orc |
java.util.concurrent.TimeoutException |
orc.run.extensions.ManyActorBasedScheduler$Worker@5176477b: caught java.lang.ClassCastException: java.lang.Thread cannot be cast to scala.concurrent.forkjoin.ForkJoinWorkerThread |
java.lang.ClassCastException: java.lang.Thread cannot be cast to scala.concurrent.forkjoin.ForkJoinWorkerThread |
at scala.concurrent.forkjoin.ForkJoinTask.fork(ForkJoinTask.java:481) |
at scala.actors.scheduler.ForkJoinScheduler.executeFromActor(ForkJoinScheduler.scala:121) |
at scala.actors.scheduler.DelegatingScheduler$class.executeFromActor(DelegatingScheduler.scala:42) |
at scala.actors.Scheduler$.executeFromActor(Scheduler.scala:21) |
at scala.actors.Actor$class.scheduleActor(Actor.scala:628) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.scheduleActor(ManyActorBasedScheduler.scala:77) |
at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:131) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.scala$actors$ReplyReactor$$super$resumeReceiver(ManyActorBasedScheduler.scala:77) |
at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.resumeReceiver(ManyActorBasedScheduler.scala:77) |
at scala.actors.Actor$class.searchMailbox(Actor.scala:478) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.searchMailbox(ManyActorBasedScheduler.scala:77) |
at scala.actors.Reactor$class.react(Reactor.scala:203) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.scala$actors$ReplyReactor$$super$react(ManyActorBasedScheduler.scala:77) |
at scala.actors.ReplyReactor$class.react(ReplyReactor.scala:109) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.scala$actors$Actor$$super$react(ManyActorBasedScheduler.scala:77) |
at scala.actors.Actor$class.react(Actor.scala:606) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.react(ManyActorBasedScheduler.scala:77) |
at orc.run.extensions.ManyActorBasedScheduler$Worker$$anonfun$act$1.apply(ManyActorBasedScheduler.scala:84) |
at orc.run.extensions.ManyActorBasedScheduler$Worker$$anonfun$act$1.apply(ManyActorBasedScheduler.scala:84) |
at scala.actors.Reactor$class.seq(Reactor.scala:280) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.seq(ManyActorBasedScheduler.scala:77) |
at scala.actors.Reactor$$anon$3.andThen(Reactor.scala:258) |
at scala.actors.Combinators$class.loop(Combinators.scala:26) |
at orc.run.extensions.ManyActorBasedScheduler$Worker.loop(ManyActorBasedScheduler.scala:77) |
at scala.actors.Combinators$$anonfun$loop$1.apply(Combinators.scala:26) |
at scala.actors.Combinators$$anonfun$loop$1.apply(Combinators.scala:26) |
at scala.actors.Reactor$$anonfun$seq$1$$anonfun$apply$1.apply(Reactor.scala:277) |
at scala.actors.ReactorTask.run(ReactorTask.scala:34) |
at scala.actors.threadpool.ThreadPoolExecutor.runWorker(Unknown Source) |
at scala.actors.threadpool.ThreadPoolExecutor$Worker.run(Unknown Source) |
at java.lang.Thread.run(Thread.java:680) |
}}} |
At line 514 changed 2 lines |
../OrcExamples/standard_problems/fib-vtimer.orc |
java.util.concurrent.TimeoutException |
! Reporter's comments: |
Apparently, this comes when one "uses the lightweight react when using the thread proxy actor". |
At line 517 changed 2 lines |
../OrcExamples/standard_problems/path.orc |
java.util.concurrent.TimeoutException |
! Orc team response |
|| Analysis |
| __Repeatable:__ | Inconsistent |
| __Root Cause:__ | Speculation: When thread pool is shutting down, submitted tasks get run on caller's thread. If the caller is the main thread, and the task is a Reactor, the CCE above occurs. |
| __Proposed Fix:__ | Replace token scheduler with simpler one |
|| Implementation |
| __Fix Made:__ | __Rev:__ 2642 __Date:__ 30 Mar 2011 __By:__ jthywiss |
At line 520 changed 2 lines |
../OrcExamples/test_data/functional_valid/Orc24.orc |
java.util.concurrent.TimeoutException |
---- |
At line 523 changed 2 lines |
../OrcExamples/test_data/functional_valid/Orc25.orc |
java.util.concurrent.TimeoutException |
!! %%strike 12: Type inference is failing on nested constructors. %% (fixed) |
At line 526 changed 2 lines |
../OrcExamples/test_data/functional_valid/Orc26.orc |
java.util.concurrent.TimeoutException |
| __Reporter:__ | David Kitchin |
| __Report date-time:__ | 2011-02-28 18:28 |
| __Orc version:__ | OrcScala r2459 |
At line 529 changed 2 lines |
../OrcExamples/test_data/functional_valid/readwrite.orc |
java.util.concurrent.TimeoutException |
! Code: |
[{orc runnable='false' |
At line 494 added 9 lines |
[[],[]] :: List[List[Top]] |
|
}] |
|
! Actual output: |
{{{ |
A type argument is overconstrained; inference failed. Please add explicit type arguments. There may also be an underlying type error. [[OrcWiki:OverconstrainedTypeVariableException]] |
[[],[]] :: List[List[Top]] |
^ |
At line 535 changed one line |
Back on 23 Oct, we decided to refactor {{Vtimer}} to not make the engine depend on {{Vtimer}}. r2169 removed the {{Vtimer}} calls from the engine, but the {{Vtimer}} side of the changes was never completed. |
Constraint generation seems to behave strangely in the presence of nested constructors. The underlying constraint {{{List[Bot] <: List[List[Top]]}}} should succeed trivially, but instead it fails. This is the simplest example I have found which demonstrates the problem. In fact, the expression should have the even more precise type {{{List[List[Bot]]}}}, but I've currently left it as {{{Top}}} for simplicity. |
At line 540 changed 2 lines |
| __Root Cause:__ | {{Vtimer}} design changes from 23 Oct never carried through. |
| __Proposed Fix:__ | Delete {{Vwait}} until next release |
| __Root Cause:__ | |
| __Proposed Fix:__ | |
At line 543 changed one line |
| __Fix Made:__ | __Rev:__ 2631 __Date:__ 26 Mar 2011 __By:__ J^T |
| __Fix Made:__ | __Rev:__ 2634 __Date:__ 28 Mar 2011 __By:__ dkitchin |