Github user dkuppitz commented on a diff in the pull request:

    https://github.com/apache/tinkerpop/pull/876#discussion_r202437245
  
    --- Diff: 
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/RepeatStepTest.java
 ---
    @@ -39,7 +39,9 @@
                     __.repeat(out()).times(3),
                     __.repeat(out().as("x")).times(3),
                     __.out().emit().repeat(out()).times(3),
    -                __.repeat(out()).until(hasLabel("x"))
    +                __.repeat(out()).until(hasLabel("x")),
    +                __.repeat("a", __.out()).times(3),
    --- End diff --
    
    Sorry, perhaps I should have been more clear on what kind of traversals to 
add here.
    
    Can you please also add `__.repeat(out()).times(3)`? Without the changes in 
`hashCode()` this traversal would have had the same hashCode as `__.repeat("a", 
out()).times(3)` and thus this test would have failed.
    
    I guess these two will still collide:
    
    ```
    __.repeat("a", __.repeat("b", out()))
    __.repeat("b", __.repeat("a", out()))
    ```
    
    ...but I can't think of a solution that doesn't involve any expensive 
method calls.


---

Reply via email to