Description
There is a bug in RepeatUnrollStrategy. Assume the following traversal:
g.V().repeat(outE().inV()).times(2)
This is currently compiled to:
g.V().outE().inV().outE().inV()
It should be compiled to:
g.V().out().out()
What is the problem? RepeatUnrollStrategy is the first strategy that takes a child traversal and injects it into the parent traversal. By doing that, any strategies up to that point have not been kicked off and thus, the injected traversal sequence isn't privy to all the strategies prior to RepeatUnrollStrategy (e.g. IncidentToAdjacentTraversal).
In TINKERPOP-1456 branch, there is the fix as InlineFilterStrategy was created and the bug showed itself there. Thus, when TINKERPOP-1456 is merged to master/, close this ticket as "fixed."