Community
Participate
Working Groups
In the tortoise DSL in the seven languages I get a warning Cannot infer type from recursive usage. Type 'Object' is used. on the return type of (class Animator) def addAnimation(Animation animation) { if (isAnimated) { animationQueue.add(animation) if (!isScheduled && !isStop) { schedule(UPDATE_INTERVAL) isScheduled = true lastStart = System::currentTimeMillis } } else { animation.set(view.tortoiseFigure, 1) } } even though there is no recursion involved. So at least the warning message is bogus. 'animation.set()' returns void. Doesn't an 'if' without an 'else' return 'void', too? Given there was no error with the old TS, this is a regression. Unfortunately, I could not figure out an easier example. Interestingly, the marker is grayed out and stays that way if the editor is saved, but seems to be re-added by the builder only.
This is caused by a cyclic dependency between TortoiseView and Animator. Recursion / cyclic resolution will be improved in M7
Still an issue.